Skip to content

Misc Concepts

When releasing mods publicly, prefix .package and .ts4script files with your username. Doing this avoids conflicts if two people release a mod with the same name.

You should NOT include a version number in your package name. Package names should always remain the same to allow file overwriting when updating.

If your mod has more than one file, distribute it as a zip file. The zip file name can (and should) include the version. Examples:

  • ZMilla-RadicalTrait.package
  • ZMilla-TraitPack-1.4.zip

Hex is used to write numbers is a more concise manner. Sims 4 modding often requires using hex.

We normally use decimal, which is base 10. Decimal has 10 symbols, 0 through 9. (174841)

Hexadecimal (hex) is base 16. Hex has 16 symbols, 0 through 9, then A through F (case insensitive), and usually prefixed with 0x. (0x5F2E18)

Hashing functions take an input, typically a file or a string, and produce a unique number. In Sims 4 modding, this is used to generate unique IDs for resources while avoiding ID conflicts. This is often handled automatically by tools, but sometimes needs to be done manually.

You’ll use either FNV32 or FNV64 depending on if you need an int (32 bit) or a long (64 bit) respectively.

You need to use a unique input, so a good practice is using CreatorName:PackageName:ResourceName. Both S4E and S4S have FNV hash generators.

Hash Utility Sims 4 resources always use lowercase strings when hashing, but this isn’t required.