Quick Reply
Search this Thread
Test Subject
Original Poster
#1 Old 29th Jul 2026 at 2:25 PM Last edited by Hundefreund : 1st Aug 2026 at 2:30 AM.
Default Tutorial: How to *truly* name a Custom World
Hello to all the Simmers out there!
I'm sure several of you have noticed a peculiar problem with custom worlds: Their names may be visible in the main menu selection screen, but at other places, they do not show up (as can be seen highlighted in the first two images).

Seeing things like "A supernatural wind blows through [blank]" or "by the [blank] Town Council" can be annoying or even immersion-breaking, at least in my opinion. That's why I'm so glad I've finally found out how to fix that once and for all (with the power of love hashing). You can do it to every custom world, no matter if self-made or downloaded. All you need is s3pe. I'll explain the process to you with the world Boroughsburg as example.



1. Locate the ".world" file of the world you want to adapt. (It should be either in the folder "InstalledWorlds" (which is located in the Sims 3 folder inside your Documents folder) or inside the game installation folder, and there in "GameData\Shared\NonPackaged\Worlds".) In my case, it is "Boroughsburg.world".


2. Open the file with s3pe. (Open S3PE and choose "File", then "Open". Then choose the file I mentioned in the previous step.)


3. Make sure that at the very bottom of the S3PE window, there are ticks at "Sort" and "Tags".


4. At the top, there are headlines like "Tag", "Type", and "Group" for example. Click on the headline "Tag" in order to sort all resources by Tag. Then search for a resource with the Tag "WDNM".

(If you cannot find this resource, then... well... you can create it yourself, but it is a little complicated. I will explain how to do it in a separate post of this thread so you can follow along, presuming you have a Hex Editor and feel safe using it.)

5. Now first make sure that the option "Enable fallback Hex preview" is checked under "Settings" at the top of the S3PE window.


6. Then take a look at the right side of the S3PE window. You should see something like the image below, perhaps with more or less text. What we are interested in are the values in the middle, so in my case I am interested in: "42 00 6F 00 72 00 6F 00 75 00 67 00 68 00 73 00 62 00 75 00 72 00 67 00". (I have marked them for clarification. As you can see, it is important to ignore the first four values!) Find out what values you can see in your case and copy them or type them down somewhere so you can use them in the following step.


7. Now you need the correct converter. I used www.hextostring.com in order to convert my values, but you can use another one if you wish. (It needs to be a UTF-16 Little Endian Hex to String converter.)
If you use the same converter as me, then insert the values from the previous step into the top box. Make sure to select "UTF-16 (Little-Endian)" in the dropdown menu in the middle. Afterwards press "Convert" to make sure it will be the correct conversion as it may not refresh automatically.

As you can see, my values get converted to "Boroughsburg". This is the text I need to use in the next steps.

8. Now open the FNV Hash Tool which you can find at the top of the S3PE window under "Tools". This will open a small window.


9. In the bar next to "Text to hash", you need to enter the text you determined in step 7 ("Boroughsburg" in my case). Then click on "Calculate". After that, three values will appear further below. We are interested only in the value next to "FNV64" ("0xC1143BE682FF63F0" in my case). Copy this value as you will need it.


10. Next click on "File" at the very top of the S3PE window and choose "New". This will create a brand new, empty package file. (Do not worry, this will not erase the previously opened world file.)


11. Press the right mouse button anywhere inside the now empty space. Then choose "Add...". This will open yet another small window.


12. Inside the newly opened window, you will see three bars which you will need to fill out.

- Next to "Type" is a dropdown menu. Open it and select "STBL 0x220557DA".
- Next to "Group", you should enter the value "0x00000000".
- Next to "Instance", you need to enter a value which depends on certain circumstances. First of all, it always has to start with "0x" no matter what. Next: Do you see the two numbers that I marked, the ones that come just after the x? These are dependant on your game language. The possible values are the following:
00 = English
01 = Chinese (China)
02 = Chinese (Taiwan)
03 = Czech
04 = Danish
05 = Dutch
06 = Finnish
07 = French
08 = German
09 = Greek
0A = Hungarian
0B = Italian
0C = Japanese
0D = Korean
0E = Norwegian
0F = Polish
10 = Portuguese (Portugal)
11 = Portuguese (Brazil)
12 = Russian
13 = Spanish (Spain)
14 = Spanish (Mexico)
15 = Swedish
16 = Thai
The remaining 14 characters just need to be unique, otherwise this will overwrite something else. Allowed characters are 0-9 and A-F. For this example, I chose "EEEEEEEEEEEEEE" because I am fairly certain nothing else uses this as ID.
So the complete Instance ID, in my case, is "0x00EEEEEEEEEEEEEE".
[Edit: Take a look at the post of CardinalSims for a more reliable way to create a unique ID.]

When you have filled in all three bars, click on "OK" so that the resource gets created.

13. Hover over the newly created row and press the right mouse button, then select "Edit STBL". This will open one more small window.


14. First of all, paste the value that you found out in step 9 inside the small row at the bottom left, then click on "Add". Afterwards, press on the big empty space on the right side and enter the name you desire for the world. (I entered "Boroughsburg".) Click on "Save" at the bottom right at the end.


After that, it will ask you if you want to commit changes. Choose "Yes".


15. Now you just need to save. Click on "File" at the very top of the S3PE window, then click on "Save As..." (or just "Save" but it will ask you for a name and location to save to anyway). Give it any name you like and save it somewhere where you can find it. Make sure it has the file ending ".package". To get it into your game, make sure to put it into your Mods folder. (Also, you can merge it with other package files if you know how to.)


Done! If you enter your game and open that world, you should now be able to see the name being displayed in the given circumstances just like you entered it in step 14.


Additional notes:
Apparently, this is also how Sim names, lot names, and the world names in the main menu work. So if you determine the FNV64 hash for a Sim's name (let's take "John" as example whose hash value is "0xE26AB67ED0A86FB6") and then insert this as ID inside a suitable STBL resource with the corresponding text "Lil' Johnny" and put this file into your Mods folder, then every instance of "John" will be changed to "Lil' Johnny" in your game (meaning every Sim whose name is "John" will be called "Lil' Johnny" instead). It stays like this as long as the file stays in your Mods folder.
(I am not sure where else this might apply, like object names or the like, or to what extent, like the question what happens if you create a new Sim with the name "John" or rename an existing Sim, so feel free to experiment.)
All in all, this is mostly meant as precautionary advice in case doing this accidentally changes other names, so that you will know why and how to revert it. (To revert it, you need to use a different text inside the WDNM resource; the process on how to achieve that is very similar to what I describe in the following post.)
Test Subject
Original Poster
#2 Old 29th Jul 2026 at 3:54 PM Last edited by Hundefreund : 31st Jul 2026 at 1:38 AM.
Addition to step 4: If there is no WDNM resource
I am not sure if that case can happen, but if you cannot find any resource with the Tag "WDNM", then it is possible to create it yourself, but it is not easy. You will need a Hex Editor. I will show how to do it with ImHex as my Hex Editor of choice.

1. First of all, open a new instance of s3pe. Then click on "Settings" at the very top and choose "External Programs...". This will open a small separate window.


2. Make sure that "Use an external hex editor" is ticked, then click on "Browse" in order to select the exe file of your Hex Editor. Then you can click on "OK" on the bottom right to confirm and close the window.


3. Click on "File" at the very top, then choose "New". This will create a new empty package.


4. Press the right mouse button anywhere in the empty space on the left side, then select "Add...". A small window will appear.


5. Inside this new window, you need to fill out the three bars at the top half.

- Next to "Type" is a dropdown menu. Open it and select "WDNM 0xD9BD0909" from the provided options.
- Next to "Group", insert the value "0x00000000".
- Next to "Instance", insert the value "0x0000000000000001". [From what I have seen, this resource always has this Instance ID in any world. In the end, it does not really matter that much since it is a unique resource after all (or at least it should be). Though perhaps the game may not read the resource if you use a different ID, so it is safer to just use this one.]
Afterwards, click on "OK". This will then instantiate a new WDNM resource.

6. As you can (hopefully) see when clicking on the newly appeared row, the resource is still empty. To change this, press the right mouse button and select "Hex Editor". This will open the still empty resource inside your previously chosen Hex Editor.


7. Now first of all, you should come up with a unique text which is not used in the game already. (Using the name of a custom world should be a safe enough bet in most cases.)
Note: You will never see this text inside the game. It is just used to let the game know which text resource to load as the actual name of the world.
For this example, I will use the text "Fantasyland".

8. Depending on your Hex Editor, you may need to set the amount of bytes that have to be inserted. (In ImHex, you can do this by pressing the right mouse button on the empty field at the left side to then choose "Resize...")


Then write the needed size. In my case, it is "0x1A" (you just need to enter "1A" in ImHex). How do you know the correct value? Take the amount of characters of your text (Fantasyland = 11 characters). Then double it (11 * 2 = 22). Now add 4 to this value (22 + 4 = 26). Last but not least, you need to convert it to hexadecimal (26 = 0x1A).

Click on "Set" to confirm.

9. Hopefully you have not had too much trouble getting to here, because now it becomes even more technical. The first four bytes declare the amount of characters that follow. So in my case, it is 11 (or 0x0B in hexadecimal). This value needs to be inserted into the first four bytes, but in Little Endian format. So instead of "00 00 00 0B" which is how we naturally write numbers, I need to format it as "0B 00 00 00" (in other words: turn all the bytes the other way round).


10. Now the actual text ("Fantasyland" in my case) comes next. If you are only using Latin letters and ImHex or a similar Hex Editor, this next part is fairly easy because you can actually double click onto the dots on the right side to then just enter the letters. ImHex will automatically insert the correct hexadecimal values this way. Just start at the fifth byte, enter the first letter, then skip the next byte and enter the next letter in the next byte. Continue like this until you entered all letters. The very last byte should be 00 this way.

Note: It is not necessary to use Asian characters as you will never see this text in the game anyway, but if you insist on it, you will need to find out the UTF-16 Unicode values for each character. Asian characters always consist of two bytes (e.g. 国 = "0x56FD" in UTF-16 Unicode). Then turn them to Little Endian format, which means once again that you need to invert the order of the bytes (so "0x56FD" becomes "FD 56" inside the hex editor). [By the way: This is why every character reserves two bytes at any time.]

11. Now save the changes and close the Hex Editor. (Note: If you use ImHex (and perhaps other Hex Editors do this as well), it will first ask you if you are sure which you can confirm by clicking "Yes". But then it asks you if you want to save the changes to a project. This time, choose "No".)


12. When getting back to s3pe, it will ask you if you want the changes to be committed. Choose "Yes".


13. Now you have successfully created the desired resource. All you need to do next is to export it to the world file where it is lacking. For that, hover over the row which is not crossed out and press the right mouse button. Then select "Export" and "To package...". Now locate the world file which is lacking the WDNM resource and select it, so that your newly created resource gets imported into it.


14. It will ask you if you want to replace or reject the resource if it is already inside the selected package file. Since the resource is missing, it does not matter what you choose. But if you want to be on the safe side, then choose "Reject" [is what I would think, but it seems like "Reject" and "Replace" do the exact opposites from how I understand it?? (At least when exporting resources.) But as I said, it does not matter anyway since you have gone through all these torturous steps because the resource is completely missing.]


15. Make sure that the WDNM resource is now inside the world file. If so, then you can close the window where you created the WDNM resource, and you do not need to save it because you have already exported it to where you need it. After that, you can continue with step 5 in the original instruction.
Scholar
#3 Old 31st Jul 2026 at 10:51 PM
Excellent tutorial

I'm curious if the steps to convert the hex are necessary, considering that S3PE already showed the text value in the preview?

An addition for Step 12, to guarantee a unique ID you can tick 'Use Resource Name' and type a unique name (something like Username_WorldName) into the Name field, then click FNV64 to automatically hash the Instance ID from that name. Including the username guarantees that it will be a unique hash, as nobody else will use the same. Then you can replace the first two digits with the language bit
Test Subject
Original Poster
#4 Old 1st Aug 2026 at 2:08 AM
Quote: Originally posted by CardinalSims
Excellent tutorial

I'm curious if the steps to convert the hex are necessary, considering that S3PE already showed the text value in the preview?

An addition for Step 12, to guarantee a unique ID you can tick 'Use Resource Name' and type a unique name (something like Username_WorldName) into the Name field, then click FNV64 to automatically hash the Instance ID from that name. Including the username guarantees that it will be a unique hash, as nobody else will use the same. Then you can replace the first two digits with the language bit


Hello,
thanks for the addition on how to make a truly random ID. And about that conversion step: Yes, you could just read it from the right side as long as it uses simple characters (meaning Latin letters and some simple special characters like '/'). However, I am not sure if it could at one point contain Asian characters. Then you cannot read it on the right side because it shows bytes separately and Asian characters consist of two bytes in there. So I just wanted to make sure to tell how to do it no matter what you can find in there, to reduce possible confusion beforehand.
(Oh, and also because dots are shown as dots just like unprintable characters, so that could create confusion as well.)
Back to top