June 2, 2025

๐ŸŽ“ Modding 101: Filenames

๐Ÿ—ช I've been thinking for a while that I should do a post like this, then I was asked for assistance with some filenames, so I figured it was time.

๐Ÿ•’ Yes, I know we've got a whole bunch of "PartFlags and Tags" posts to finish.

๐Ÿ˜น I don't like my PNG divider because it doesn't change color with Patreon's "Appearance" settings, so I'm gonna just use the text divider for now and we can all ignore the line-breaking.

โ˜†//โ‹† DISCLAIMER + FOREWORD:

I consider myself more of a "general mod creator" who does a bit of everything, so the way I do my filenames is more from a "general modding" perspective, if that means anything whatsoever.

โ€”

It is reasonable for you to not know what the "best practices" might be for filenames.

A tutorial might exist for this somewhere in the aether, but I've never seen one, so chances are that you haven't either. What I have seen is my fair share of absolutely unacceptable filenames from across the board. ๐ŸŽ™๏ธ It's a jungle out there.

Point is, you are not alone and you need not feel bad if you've been doing it improperly without even realizing that there are "best practices".

Don't fret, ๐ŸŽ™๏ธ๐Ÿ”ž I can teach you how to stunt.

P.S. The purpose of this post is not to "call out" anyone or anyone's favorite creator. I am simply trying to help get us to where we need to be. That being said, you might recognize some of my examples.

โ‹† โ”€โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ‹† \\ โœฎ // โ‹† โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€โ”€ โ‹†

โ˜†//โ‹† GLOSSARY:

In the context of filenames:

  • ELEMENT -- This is each "section" of your filename, separated by an underscore "_".

  • FORMAT -- This is the "order/layout" of your filename elements.

โ‹† โ”€โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ‹† \\ โœฎ // โ‹† โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€โ”€ โ‹†

โ˜†//โ‹† FILENAME FORMATS:

Some of these are interchangeable, but AgeGender elements are specific to CAS.

You can mix and match elements, but if you're using a "Pack Identifier", it should probably be placed directly after the "Mod Type" to keep your mods grouped by Pack requirements.

I recommend including a "Modifier" with your "ModType", but you can always tack it onto the items that need it, e.g. instead of adding "Recolor" to your "ItemName", add it to your "ModType".

FOR CAS:

  • Creator_ModTypeWithModifier_PackID_Category_AgeGender_ItemName

  • Creator_ModTypeWithModifier_PackID_Category_AgeGender_Collection_ItemName

  • Creator_ModTypeWithModifier_Category_Collection_ItemName_AgeGender

  • Creator_ModTypeWithModifier_Category_ItemName

  • Creator_ModTypeWithModifier_Collection_ItemName

  • Creator_ModTypeWithModifier_ItemName.package

FOR BUILD, OBJECT (BUY), TUNING, ETC.:

  • Creator_ModTypeWithModifier_PackID_Category_ItemName

  • Creator_ModTypeWithModifier_Category_ItemName

  • Creator_ModTypeWithModifier_Collection_ItemName

  • Creator_ModTypeWithModifier_ItemName

โ˜†//โ‹† ACCEPTABLE FILENAME EXAMPLES:

You don't have to do exactly what I do, but you need a format that works.

Of course, I think my format is either perfection or near to perfection and everyone should use it. I wholeheartedly welcome you to just copy the way I do it and adjust it as necessary.

Seriously. My format works for everything. Have at it. I ain't clutching no pearls.

MYSELF AS AN EXAMPLE:

  • sej_CASA_BG_ClothingBottom_YF_TightsFootlessCropped

    • This is how I format my filenames for CAS content:

      • Creator Name

      • Mod Type with Modifier -- The "A" is the "modifier". It's short for "Add-On".

      • Pack ID -- I do Pack-specific CAS content, so I always use these.

      • Category -- Matches EAxis' format and the internal category.

      • Age and Gender -- Matches EAxis' format.

      • Item Name -- Matches EAxis' format.

  • sej_CASAddOn_BG_ClothingBottom_YF_TightsFootlessCropped

    • This is my expanded filename with my "modifier".

  • sej_CASAddOn_BG_ClothingBottom_YF_CollabSejian_TightsFootlessCropped

    • For a collaboration, I could do this.

  • sej_CASAddOn_BG_ClothingBottom_YF_Collection_TightsFootlessCropped

    • For a themed collection, I could do this.

  • etc.

โ˜†//โ‹† UNACCEPTABLE FILENAME EXAMPLES:

These are real filenames that I've edited with my details to avoid directly naming anyone.

As I said at the start, the purpose of this post is not to "call out" anyone, but you might recognize some of my examples. It is reasonable for creators to have made these mistakes.

Don't feel weird about this. Take the information in this post and put it to good use.

THESE FILENAMES ARE UNACCEPTABLE:

  • [SEJIAN] Overrides Collection - Tights Footless Cropped.package

  • [SEJIAN] Tights Footless Cropped.package

  • [sejian]Overrides_TightsFootlessCropped.package

  • [sejian] TightsFootlessCropped.package

  • [sejian] yfBottom_BGTightsFootlessCropped

  • (sejian)Overrides-Collection_Tights-Footless-Cropped.package

  • -sejian- TightsFootlessCropped.package

  • !sejian - TightsFootlessCropped.package

  • By Sejian - Overrides Collection (Bottoms).package

  • By Sej x Sejian - Overrides Collection (Bottoms).package

  • sejian Overrides Collection-Tights Footless Cropped.package

  • sejian TS4-TightsFootlessCropped.package

  • sejian Tights Footless Cropped.package

  • sejian_Tights Footless Cropped.package

  • sejian_TightsFootlessCropped-Ripped.package

  • sejian_Overrides_ [Tights Footless Cropped].package

  • sejian - Tights Footless Cropped.package

  • sejian - Tights Footless Cropped (Female).package

  • Tights Footless Cropped_Sejian.package

  • Tights Footless Cropped.package -- THIS IS THE WORST. WHO EVEN MADE THIS? For personal use this is fine, but if you're sharing content, you need to put a "Creator Name" on it somewhere.

  • etc.

THESE FILENAMES WOULD BENEFIT FROM IMPROVEMENTS:

  • sejian_fFullbody_Tights_Footless_Cropped.package

  • sejian_OverridesCollection_YF_TightsFootlessCropped.package

  • sejian_TightsFootlessCropped.package

  • sejian_OverridesCollection_TightsFootlessCropped_YF.package

  • sejian_OverridesCollection-TightsFootlessCropped_YF.package

  • etc.

โ‹† โ”€โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ‹† \\ โœฎ // โ‹† โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€โ”€ โ‹†

โ˜†//โ‹† UNDERSCORES V. DASHES:

I recommend using underscores "_" in filenames because EAxis uses underscores in their filenames. Even the PYTHON files squirreled away in our INSTALL FOLDER use underscores. I believe it's "a coding thing".

  • Underscores offer better readability.

  • Underscores don't work well with file system "Search" features. When searching for a word, you should place an asterisk "*" before and after the word. This is because of "the coding thing".

I don't recommend dashes "-" in filenames because EAxis never uses dashes "-". Dashes are correct for coding in general, but not here it seems.

  • Dashes are kinda unsightly in filenames.

  • Dashes work well with file system "Search" features. When searching for a word, you should be able to just search the word. This is because of "the coding thing".

โ˜†//โ‹† IT'S A CODING THING:

What I'm about to say might be an improper layman's explanation that anyone who understands coding might chastise me for... or maybe not?

In coding, underscores "_" are detected as a word or part of a word. A sentence with underscores is detected as one long word, and this might be why EAxis uses them. The game processes a filename with underscores as one long word without breaks:

  • sej_RESO_BG_DST_LauncherBG_Art_AdamYbarra_DragonQueen.package

    • Point your cursor over any element/word and double-click on it.

Dashes "-" are detected as breaks/spaces between words. A sentence with dashes is detected as multiple words. The game processes a filename with dashes as multiple words and verifies each word separately:

  • sej-RESO-BG-DST-LauncherBG-Art-AdamYbarra-DragonQueen.package

    • Now do the same here and see the difference.

Spaces " " are replaced by "%20" in coding. You can see this in any URL for any webpage that contains a space. The game might have to convert spaces to "%20" in order to properly read a filename with spaces:

  • "sej RESO BG DST LauncherBG" = "sej%20RESO%20BG%20DST%20LauncherBG"

Special characters "( [ { ' / @ ! #" have special functions in coding. For a special character to be read as a special character and not as a function, another special character has to be tacked onto it. The game might have to add additional special characters to the special characters in order to properly read a filename with special characters, e.g. "[" might turn into "['" or "[/" when the game is processing the filename.

  • [sej] = ['sej]' or [/sej]/

Periods "." are detected as the end of a "filename" and the beginning of a "file extension". If a filename has multiple periods in it, then the game might process the first period as the end of the filename and then process the word directly after it as an invalid extension, then detect and process the next period as the real end of the filename, and then process the true extension.

  • The%20Filename.TheInvalid-Extension.TheTrueExtension

โ€”

If increased load times due to improper filenames is really a thing, then all of that extra processing I explained above is possibly why it happens.

Dashes might be the correct replacement for spaces in coding and HTML, and for Google/WEB indexing, etc., but it's not the ideal thing for the game.

Underscores "_" or nothing at all with "Proper Case" should give the fastest processing and load times. UPPERCASE and lowercase can work too, they're just horrible for readability, and you want to be able to read your filenames easily.

If you'd like to learn more about the coding, then these two articles can get you started:

โ‹† โ”€โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ‹† \\ โœฎ // โ‹† โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€ โ”€โ”€ โ‹†

โ˜†//โ‹† GENERAL GUIDELINES:

  • Follow a format and tweak it as necessary if you create different types of mods.

  • Absolutely always begin your filename with your "Creator Name".

  • Follow your "Creator Name" with a "Mod Type" for grouping even if you just do one type of content right now, because that could change in the future. I personally refer to this as my "Grouping Prefix".

  • Use underscores "_" to split up your filename elements. EAxis uses underscores, not dashes.

  • Avoid all special characters, including spaces " ", dashes "-", and brackets "( [ { } ] )".

  • Avoid all and punctuation characters, including commas "," and periods ".".

  • Use "Proper Case" capitalization for readability.

  • Use "Proper Case" capitalization instead of underscores "_" in elements to maintain their integrity, e.g. "The Bracing Breezes Collection" in "Collection_ItemName" format:

    • Bracing_Breezes_Swimsuit = BracingBreezes_Swimsuit

    • Bracing_Breezes_Slippers = BracingBreezes_Slippers

  • Avoid multiple words in UPPERCASE or lowercase, for readability:

    • SEJIANTHEROCKETSCIENTIST = SejianTheRocketScientist

    • sejianthegreatevil = SejianTheGreatEvil

โ˜†//โ‹† "CREATOR NAME" GUIDELINES:

Keep your "Creator Name" consistent.

This doesn't mean that you can't change it whenever, it just means don't go ham and change the way you type it randomly, for no reason. In other words:

  • Do this because our brains recognize patterns:

    • sejian_

    • sejian_

    • sejian_

  • But don't do this randomly, 'cause this is annoying as !@#$:

    • sejian_

    • SeJiAn_

    • s3j1@n_

Remove special characters "!@#$ (etc.)", spaces " ", dashes "-", periods ".", commas ",", etc.:

  • seji@n_ = sejian_

  • sej-ian_ = sejian_

  • Sejian, The Great Evil_ = SejianTheGreatEvil_

Names with numbers or fancy capitalization are fine:

  • 53J14N_

  • SEJiAN_

If it's one word, do "lowercase" or standard capitalization:

  • sejian_

  • Sejian_

If it's multiple words, use "Proper Case" capitalization:

  • SejianTheRocketScientist_

  • SejianTheGreatEvil_

โ˜†//โ‹† "MOD TYPE AND MODIFIER" GUIDELINES:

Mods generally fall into FOUR (4) main "types".

Your "ModType" should start with one of these, then tack on a "modifier" if necessary:

  • CAS -- Content for Create-A-Sim.

  • Build -- Content for Build Mode.

  • Object -- Content for... Buy Mode? This includes non-buyable objects.

  • Mod -- This is an umbrella for all gameplay-altering mods, including Tuning mods, UI (SGFX) mods, TS4SCRIPT mods, etc.

"Modifiers" just expand/refine the "ModType" even more:

  • CASAddOn -- You've likely seen an "Add-On" post from your favorite CAS creator. It was a thing before I created my modifier. I use this for modified EAxis content.

  • CASOverride -- "CASO" is my big project to fix EAxis CAS. The name literally comes from the type of CAS mod that it is. It's a "CAS Override". Simplicity works.

  • CASRecolor -- This ain't one of mine but lots of creators release "recolors".

  • CASStandalone -- I use this either for entirely new creations or modified clones that have all of their resources embedded.

โ˜†//โ‹† "PACK ID" GUIDELINES:

This comes direct from EAxis' internal naming format.

  • BG -- Base Game

  • EP01 -- Get To Work

  • etc.

I could list them all out, but it would be a long list.

I don't mind doing it if y'all want a list right here for reference.

โ˜†//โ‹† "CATEGORY" GUIDELINES:

I used to follow EAxis internal naming format for this, which is "_AgeGenderCategory_", but I didn't like how my files were grouping, so I swapped them around and split them into two elements, but you can do "_AgeGenderCategory_" as one element if you prefer.

  • AccEarrings (or just Earrings)

  • AccNecklace (or just Necklace)

  • ClothingBody -- I tack on "Clothing" to these three so that they group together.

  • ClothingBottom -- See above.

  • ClothingTop -- See above.

  • Hair

  • Shoes

  • etc.

โ˜†//โ‹† "AGE AND GENDER" GUIDELINES:

This comes direct from EAxis' internal naming format.

  • YF -- Young Adult Female - Includes Teens, Adults, and Elders.

  • YM -- Young Adult Male - Includes Teens, Adults, and Elders.

  • YU -- Young Adult Unisex - Includes Teens, Adults, and Elders.

  • CF -- Child Female

  • CM -- Child Male

  • CU -- Child Unisex

  • PF -- Toddler Female

  • PM -- Toddler Male

  • PU -- Toddler Unisex

  • IF -- Infant Female

  • IM -- Infant Male

  • IU -- Infant Unisex

  • AF -- All Ages Female - Custom addition to complete the set.

  • AM -- All Ages Male - Custom addition to complete the set.

  • AU -- All Ages Unisex - Custom addition to complete the set.

โ˜†//โ‹† "COLLECTION" GUIDELINES:

If you're creating a themed collection, just stick a "Collection" element before the "ItemName". It won't group the items by collection, but it will serve as a visual identifier and a search term.

Even if you're not following or creating a format based on my examples, please add a "Collection" element to your filename format so that simmers can identify what collection an item came from.

When creators don't do this, what we end up with is a bunch of PACKAGES all mixed together with no idea what post it came from, which leads to unnecessary "Where Can I Find? (WCIF)" questions.

Don't create unnecessary work for yourself as a creator or for the simmers who use your content. Just expand your filename.

โ˜†//โ‹† "ITEM NAME" GUIDELINES:

Use "Proper Case" capitalization to avoid using underscores "_" in your "ItemName".

Unnecessary underscores will mess with your element grouping.

  • "Tights_Footless_Cropped" = "TightsFootlessCropped"

โ˜†//โ‹† TBC...?

Comments (5)

S
Sam ยท December 6, 2025

I just saw some .packages named using emojis, so I deleted the emojis because they didnโ€™t serve a purpose. And Iโ€™m guessing they arenโ€™t a good choice for file naming.

S
Sejian ยท December 6, 2025

If there is truth to the things I've read Elsweyr, and it's all still valid, and my novice understanding and explanation is correct, then no, emojis are not a good choice for file naming. ๐Ÿ˜น Goodness me, I need to update CAS Filters and push it more to the community so we can hopefully get more creators aware of this filename thing, so they can stop giving us extra work! ๐Ÿ˜น

J
Jusagi ยท November 20, 2025

I'm reading this while staring at all the yassified name files from Dreamgirl

N
Nova Grayson ยท June 2, 2025

Tights Footless Cropped.package AAAAAAAAAAAAAAAHHHHHH When I see this type of thing has randomly made it's way into my downloads folder? I'm a sucker for a good sim upload! It's an auto delete! You need more props. Please go collect a Random_Pink_Flamingo or Trash_Panda from your nearest dealer.

S
Sejian ยท June 2, 2025

๐Ÿ˜น