UPDATE (2025.05.14):
- Added meshes version compatible with @simnopke Heterochromia. Choose only one: original or compatible. Notice that compatible version has the same overlapping issues as Heterochromia
- CAS thumbnails updated
Finally, I’m ready to present the Sclera Accessory!
What’s the point?
This accessory helps solve a long-standing issue:
In TS2, when the sclera was painted directly onto the eye texture or used as a makeup overlay, it moved along with the iris, which looked unnatural. Players had to choose between a more realistic texture and better animation compatibility.
Now you can use eye textures with just a plain or gradient white sclera, while the lacrimal caruncle and eyelash shadow are placed on the accessory texture instead.
Thus, when the eye moves, the sclera remains in place.
How it looks in motion
Close-up:
Here’s how my Sims look with and without the sclera accessory:
Details
The mesh is a separated and slightly edited part of the face mesh, which allows it to work perfectly with facial animations.
I also edited the UV map to make texturing easier.
The sclera works with any eye shape and is available for all ages and genders, including infants.
The PU-EU and BU meshes are separate files so you can easily relink your recolors for all ages.
Recolors
I made 4 recolors. I wanted the texture to be something between hyper-realistic and maxis match — something in the middle. I know many of you are talented and will create even more amazing textures in different styles. Here's the PSD.
Known issues
First, I had to change the material type to StandardMaterial to make the texture’s opacity look better. Since this material type isn’t native to CAS items, it may cause transparency issues when meshes with alpha textures intersect.
Second, blue flashing fix: I didn't use a placeholder. Instead, I removed all references to the “lens” group in the mesh and texture files. I didn’t get blue flashing in testing, but if it happens, let me know and I’ll upload a fixed version.
Added meshes version compatible with @simnopke Heterochromia. Choose only one: original or compatible. Notice that compatible version has the same overlapping issues as Heterochromia
It's finally here, my tutorial for adding new terrain types to The Sims 2!
This was tricky to write so I hope I documented everything correctly!
You can also get the guide as a PDF (including tutorial files) at SFS.
(2026-03-06: I messed up and deleted the upload, I reuploaded it…)
Tutorial: Adding a custom terrain and road in The Sims 2
By JodelieJodelie
Version 1.0
13-10-2025
This is a tutorial for adding new custom terrains with roads to the four existing terrains (temperate, desert, concrete, dirt) in The Sims 2.
This tutorial requires knowledge of SimPE and editing files.
Required software
The Sims 2
SimPE
A text editor such as Notepad
A hex editor such as https://hexed.it/
Files that will be edited
The files you will edit should be in the folder of your latest EP/SP. Since I have the Ultimate Collection (UC) I will refer to the Mansions & Gardens subfolder (SP9) in Fun with Pets folder.
In my case, my install folder looks like: C:\Program Files (x86)\EA Games\The Sims 2 Ultimate Collection. I’ll refer to the installation path as ~.
~\Fun with Pets\SP9\TSData\Sys\NeighborhoodTerrain.ini
~\Fun with Pets\SP9\TSData\Res\Catalog\Scripts\terrainPaints.txt
~\Fun with Pets\SP9\TSData\Res\Materials\Materials.package
OR if you have shaders installed such as LazyDuchess’ Lot Lighting Fixes or the Multi Road Mod (1, 2) you’ll need to edit those instead.
Optional: Instance 0xFF1AFA1C: Shaders for terrain tiles
Tutorial files
I have uploaded a package with texture files for a snow terrain based on this dirt default by Freezer Bunny (uploaded by Shastakiss). The road texture is based on the Rural Charm road by Criquette.
Download at SFS.
The terrain file contains the following textures:
lottexture-canvas-snow_detail_txtr
lottexture-canvas-snow_txtr
snow-rough_txtr
snow-rough-hsnow_txtr
snow-rough-lsnow_txtr
snow-rough-light_txtr
snow-rough-light-hsnow_txtr
snow-rough-light-lsnow_txtr
snow-smooth_txtr
snow-smooth-hsnow_txtr
snow-smooth-lsnow_txtr
snow-smooth-rougher_txtr
snow-smooth-rougher-hsnow_txtr
snow-smooth-rougher-lsnow_txtr
The road file contains the following textures:
lotskirtroad_snow_00000304_txtr
lotskirtroad_snow_00000304_hsnow_txtr
lotskirtroad_snow_00000304_lsnow_txtr
lotskirtroad_snow_00000f04_txtr
lotskirtroad_snow_00000f04_hsnow_txtr
lotskirtroad_snow_00000f04_lsnow_txtr
lotskirtroad_snow_00004b04_txtr
lotskirtroad_snow_00004b04_hsnow_txtr
lotskirtroad_snow_00004b04_lsnow_txtr
lotskirtroad_snow_00005704_txtr
lotskirtroad_snow_00005704_hsnow_txtr
lotskirtroad_snow_00005704_lsnow_txtr
lotskirtroad_snow_00020704_txtr
lotskirtroad_snow_00020704_hsnow_txtr
lotskirtroad_snow_00020704_lsnow_txtr
snow_roads_00000304_txtr
snow_roads_00000304_hsnow_txtr
snow_roads_00000f04_txtr
snow_roads_00000f04_hsnow_txtr
snow_roads_00004b04_txtr
snow_roads_00004b04_hsnow_txtr
snow_roads_00005704_txtr
snow_roads_00005704_hsnow_txtr
snow_roads_00020704_txtr
snow_roads_00020704_hsnow_txtr
Notice how all the textures have the word “snow” in them. If you want to create your own terrain, you can replace these with a word of your choosing (but don’t replace hsnow and lsnow, these are needed when it’s snowing in the game). Don’t forget to click “fix TGI” and “Commit” in SimPE if you do.
Step 1. Editing NeighborhoodTerrain.ini
Make a back-up of your NeighborhoodTerrain.ini file.
Open the file in a text editor.
You will need to add new text in three places.
First edit: PaintInfos
Under [PaintInfos] you will find all the terrains in your game. The last one will be the concrete terrain.
Under [TerrainTypeInfos] you will need to add your terrain with 0x10 and 0x11. These are the cliff and beach paints. Technically this means you could have different cliff and beach paints per terrain. But that’s for another time.
So the format is Name=Cliff_Paint_ID,Beach_Paint_ID.
In our case this means you will add the following line under the concrete one:
Snow=0x10,0x11
Third edit: PaintMapTable
In this last edit you will need to add a paintmaptable of your new terrain. This map will determine at what height which texture will get applied.
Copy a map of a terrain. I used the dirt one as my inspiration.
Note, I don’t know what other terrainTypeSoundSuffix types exist.
Save the file.
Step 3. Editing shaders
This step depends whether you use shader mods or not. If you don’t, you will need to edit ~\Fun with Pets\SP9\TSData\Res\Materials\Materials.package. Otherwise, you will need to edit your mods.
Regardless, make back-ups.
Predefined neighborhood materials
Open the Materials.package or your mod.package in SimPE.
Look for instance 0xFF6BE964.
Scroll down and add the following to the other NHoodRoadMaterials.
This step is not required to make your new terrain functional but will improve how it looks, especially if you have a texture with multiple colors or a grid.
The edit will need to be done in another shader, namely the Shaders for terrain tiles (instance 0xFF1AFA1C). Note: these values apply to all other terrains and terrain paints.
So again, open the Materials.package or your mod.package in SimPE.
Directly underneath terrainMatDiffCoef you will find the following.
# Specifies the number of tiles over which the paint & bump textures should be applied.
setf canvasDetailTextureScale 4
setf canvasBaseTextureScale 20
setf paintTextureScale 20
setf paintDetailTextureScale 4.0
setb hasCutout false
These settings determine the size of both the terrain and terrain paints. For some mysterious reason, the developers put the values at 4. This means that the terrains will span 4x4 tiles. This means it will never line-up with the neighborhood terrain that is visible from the lot.
The default 4x4, this makes lining up textures difficult.
By editing it to 5x5, you can line up textures better.
As you can see, by increasing the texture by 5x5 it will be easier to make matching terrain defaults.
So change the values to the following.
# Specifies the number of tiles over which the paint & bump textures should be applied.
setf canvasDetailTextureScale 5
setf canvasBaseTextureScale 20
setf paintTextureScale 20
setf paintDetailTextureScale 5.0
setb hasCutout false
Click “Commit” and save your file.
Example with another texture.
Before:
After:
Step 4. Changing the terrain in your neighborhood
It’s time to start the game!
Either select an existing neighborhood or create a new one. If you want to apply it to an existing neighborhood I recommended creating a back-up.
When in the neighborhood, use CTRL + SHIFT + C to open the cheatconsole
Type “Terraintype Snow” and hit Enter.
The terrain will change, but will look a bit weird. That will fix itself when you either reload the neighborhood or restart the game.
But we’re not done yet, we need edit some values in SimPE.
Close the game if you haven’t already.
Step 5. Changing the road with SimPE
I learned about this from this thread on ModTheSims.
Open SimPE and use the Neighborhood Browser (via Tools) to open your neighborhood.
Extract the Neighborhood Memory (NGBH) and save it somewhere as SnowTutorial.simpe.
Open the .simpe file with a hex editor. I use an online version: https://hexed.it/.
Go to byte 14. This will have a number. This number corresponds with the number of letters in your terrain. In our case “snow” has 4 letters, so this value will need to be 4.
Starting at byte 18 you will find the letters of the terrain name. Depending on the length of the current terrain and the one you need, you might have to remove or add bytes. Replace the text with the name of your terrain and add/delete bytes if needed.
It will look like this in hexed.it:
Save the file and give it another name, such as SnowTutorialEDIT.simpe.
Return to SimPE and NGBH and replace (right click) the NGBH with the edited version. Click save.
Close SimPE and start the game again to check on your neighborhood.
If everything went alright you now have a snowy neighborhood terrain and matching road!
Note: any existing lots will need to be picked up and placed again. This will reset the terrain.
Result
I currently don’t have a lighting mod. Below you can see lot and neighborhood terrain comparisons per season. The difference is biggest for summer.
It’s not perfect, for instance snow during winter will do this to the terrain and neighborhood road from lot view. Maybe I’ll figure out how to fix this another time.
This tutorial deserves a lot more attention than it currently gets ☝️
I think I didn't even realize what it was when I liked this post some time ago. It's just a game changer. Thank you, @jodeliejodelie!
Now we can create completely unique neighborhoods. And we can also preserve the vanilla Maxis textures instead of replacing them. And what a cool trick with terrain tile scaling is described here!
And based on this tutorial I finally fulfill my long-time dream of different cliff/beach textures for different terrain types.
Now I'll have a landscape with imitation black volcanic sand like in Iceland, which will not conflict with anything. I test it with concrete terrain - looks very promising.
Have you ever noticed that by default, only a couple of textures from the game's files are used with Temperate terrain type in the neighborhood view?
I decided to find out what would happen if I forced the game to use all 4 textures for wet and dry areas. So I changed the settings in NeighborhoodTerrain.ini of the last EP and it works: all existed textures are rendered now.
I found @evannamari Sclera accessory the other day and realised I could finally use the bruno eyes I used to use without the struggle of the sclera being impossible to deal with when I took story photos, and so I may have... made a random 71 set of eyes on my own more-animation-friendly sclera. (idk man, it's friendly enough for me.)
The sclera itself is a mashup of about 7 different ones I've had over the years. I know it almost certainly uses AlfredAskew's sclera, but... I'm not sure what else if I'm being honest. in any case, in the end it's some frankensteined mish mash of things. so I can't really take credit for anything besides blending them together.
The irises and such themselves are also not mine in the slightest, because they're just a mix of Bruno eyes that I've liked.
All eyes are townified and geneticised, so if that's not your thing you'll have to fix them in simpe or wardrobe wrangler. The eyes ARE organized via what they're geneticised as, but this is how they're geneticised in general:
Dark Blue, Brown, very dark grey: 01 (vanilla brown/dkblue)
Dark Greens, Med Grey, Light Blue, Light Brown: 02 (vanilla grey/green/ltblue)
Light Green, Light Grey: 03 (even more recessive than all vanilla eyes.)
There is also a default set is also available (on the simblr.cc dl page only) with this sclera, and it is a set of Bruno's Kylie eyes (of which there are a few more mixed in with the non-defaults.) The default includes an alien default using Bruno's Gemstone Obsidian as the Alien default, so be warned. delete that if you wish to use a different alien default.
Estelle (the preview model) is wearing "brunosparkling_lightbrown", which is in the "01_brown" folder in the zip.
Ok, you guys know damn well I'm anti-gatekeeping resources and anti-cc-creator-competitions-to-see-who's-better-at-playing-digital-play-Doh. AND ABOUT THAT, I found out about MESH REPAIR TOOLS by SINEWAVE. It's a FREE add-on for blender. It does A LOT of things, but do you know what it also can do? DECIMATE MESHES BETTER THAN BLENDER.
Before (taken on sims4studio):
After (taken on blender):
All of this with two clicks on the "Reduce" button. Yes I'm in an awe but can you really blame me?? The mesh looks exactly THE SAME. I don't need to fix wonky UVs or replace textures. It does everything PERFECTLY.
I don't see how this could be something that would upset anyone, actually. This is a free plug-in that decimates with one click, making the process faster and easier for everyone. It really doesn't bother me that it uses the default decimate modifier, it does what it says it does, making the process faster and easier. That's what an automation does, just like using actions on photoshop to make a specific color palette to your cc piece.
Maybe it's the language barrier and I misunderstood you. I read in your post that this add-on "DECIMATE MESHES BETTER THAN BLENDER". But it seems that it's not.
I was misled by this. And if someone, like me, installed this addon just in the hope of this, then there is no point in it.
Ok, you guys know damn well I'm anti-gatekeeping resources and anti-cc-creator-competitions-to-see-who's-better-at-playing-digital-play-Doh. AND ABOUT THAT, I found out about MESH REPAIR TOOLS by SINEWAVE. It's a FREE add-on for blender. It does A LOT of things, but do you know what it also can do? DECIMATE MESHES BETTER THAN BLENDER.
Before (taken on sims4studio):
After (taken on blender):
All of this with two clicks on the "Reduce" button. Yes I'm in an awe but can you really blame me?? The mesh looks exactly THE SAME. I don't need to fix wonky UVs or replace textures. It does everything PERFECTLY.
One! One damn property in the SimStandardMaterial shader was making the alpha hairs look less beautiful than they actually are.
Just look at the difference between hair with the default alphaTest true 60 property and with alphaTest true 0.
And what's really great is that the hair also renders normally in-game; I didn't notice any strange transparency issues.
I'm completely clueless about code and shaders: I simply replaced the code for one of the Maxis shaders, changing just this one property.
There are probably some pitfalls, because Maxis introduced this limitation for a reason. And there may be conflicts with other popular shaders that I'm unaware of yet.
But I genuinely want to scream with joy. It's a kind of magic for me. So share this feeling with me 🙌
As far as I know, the transparency of other CAS objects, such as accessories and clothing, is affected by other alphaTest true properties, where the value is 128, which also cuts off some pixels on very delicate alpha. I'd also like to fix this and will be testing changes to these properties.
Unfortunately, the first problem discovered. Now it's clear why this threshold is needed.
If you want to test this threshold yourself, you need to find Maxis Material Shader B8D92FFE-1C0532FA-FF703EE0.matshad and scrolling all the way to the bottom to edit the parameter alphaTest true 60 inside the "Macro for setting alpha blending and alpha test state for sim hair materials".
Now I'm thinking it would be a good idea to slightly stylize the textures for The Sims 2 so they look good even with the default shader settings.
To visualize how the alpha channel will look in-game in Photoshop, a "Levels" adjustment can be used with the Shadow Input Level set to 60. I hope this option will give the most correct display.
One! One damn property in the SimStandardMaterial shader was making the alpha hairs look less beautiful than they actually are.
Just look at the difference between hair with the default alphaTest true 60 property and with alphaTest true 0.
And what's really great is that the hair also renders normally in-game; I didn't notice any strange transparency issues.
I'm completely clueless about code and shaders: I simply replaced the code for one of the Maxis shaders, changing just this one property.
There are probably some pitfalls, because Maxis introduced this limitation for a reason. And there may be conflicts with other popular shaders that I'm unaware of yet.
But I genuinely want to scream with joy. It's a kind of magic for me. So share this feeling with me 🙌
As far as I know, the transparency of other CAS objects, such as accessories and clothing, is affected by other alphaTest true properties, where the value is 128, which also cuts off some pixels on very delicate alpha. I'd also like to fix this and will be testing changes to these properties.
Unfortunately, the first problem discovered. Now it's clear why this threshold is needed.
If you want to test this threshold yourself, you need to find Maxis Material Shader B8D92FFE-1C0532FA-FF703EE0.matshad and scrolling all the way to the bottom to edit the parameter alphaTest true 60 inside the "Macro for setting alpha blending and alpha test state for sim hair materials".
One! One damn property in the SimStandardMaterial shader was making the alpha hairs look less beautiful than they actually are.
Just look at the difference between hair with the default alphaTest true 60 property and with alphaTest true 0.
And what's really great is that the hair also renders normally in-game; I didn't notice any strange transparency issues.
I'm completely clueless about code and shaders: I simply replaced the code for one of the Maxis shaders, changing just this one property.
There are probably some pitfalls, because Maxis introduced this limitation for a reason. And there may be conflicts with other popular shaders that I'm unaware of yet.
But I genuinely want to scream with joy. It's a kind of magic for me. So share this feeling with me 🙌
As far as I know, the transparency of other CAS objects, such as accessories and clothing, is affected by other alphaTest true properties, where the value is 128, which also cuts off some pixels on very delicate alpha. I'd also like to fix this and will be testing changes to these properties.
One! One damn property in the SimStandardMaterial shader was making the alpha hairs look less beautiful than they actually are.
Just look at the difference between hair with the default alphaTest true 60 property and with alphaTest true 0.
And what's really great is that the hair also renders normally in-game; I didn't notice any strange transparency issues.
I'm completely clueless about code and shaders: I simply replaced the code for one of the Maxis shaders, changing just this one property.
There are probably some pitfalls, because Maxis introduced this limitation for a reason. And there may be conflicts with other popular shaders that I'm unaware of yet.
But I genuinely want to scream with joy. It's a kind of magic for me. So share this feeling with me 🙌
As far as I know, the transparency of other CAS objects, such as accessories and clothing, is affected by other alphaTest true properties, where the value is 128, which also cuts off some pixels on very delicate alpha. I'd also like to fix this and will be testing changes to these properties.
I like @evannamari's sclera accessory, but the shadow under eyelashes didn't really match my style, so I made 4 shadowless recolors of Evannamari's scleras: base, rednessless, darker and darkest.
While I was working on recolors, I decided to make some unnatural scleras for aliens and other supernaturals as well. The unnatural recolors are: green mint, green, light blue, dark blue, red and black. Each unnatural recolor comes in two versions: with shadow and without shadow. You can keep all recolors at once.
Here's swatch:
As you can see green, green mint and light blue are quite similar.
However, I kept pinkish/reddish eye tint on unnatural recolors. Sclera matching the color of canthus looked too flat for me. If you don't like the reddish sclera, I added a psd file with my recolors - simply remove or recolor "eye tint" layer. :)
Here are some pictures of unnatural scleras with unnatural eyecolors or unnatural skintones:
Or if you want to for some reason you can download this specific version here
Try the web version here
New web version!
Display meshes and bounding meshes
Normal, tangent, and uv (texture) data
Wireframe mode
Performance information
Change subset names and opacity values
Test morph shapes
Export and import resources
You can export resources by right-clicking on the resource name, the same place where you open the resource by left-clicking. Importing resources works by dragging the resource file into the editor (the resource that will be replaced will show a box around it while hovering).
This update has been a long time in the making, and there is a lot of stuff that I still want to create and improve, but I have decided that the state that it is currently in is good enough to be usable for now, and that delaying the release any further would not make much sense.
GMDC display has been consistently a pain point for people playing the Sims on Linux, and with this update I hope to have improved the situation somewhat. I also made sure to add resource export and importing functions, so that those who can't get the SimPe mesh functions to work on Linux can still work with meshes.
As I said, I wanted to add a bunch more features to this update, but right now it seems that I will have to make some large refactors before I can do that, which will take some time to complete. With that I would like to ask you all: should I work on some smaller editors (sim descriptions, bhav constants, other 'smaller' resources) before starting the large refactor, or should I get it over with to work on larger features?
Should I work towards bigger updates, or do a couple of smaller updates first?
Start the large refactor for big updates (BHAV etc.) (might take 2-3+ months)
Do some smaller updates first (sim desc., BCON, etc.) (1-2 weeks per update)
Calling all shader creators: proposal to make a public Git repo for solving shader conflicts
As more shader edits get released, a problem that plagues creators and downloaders alike is the issue of conflicts between shaders that modify the same resource. Obviously, since they're scripts written a certain way and implementing a certain behaviour, there can only be one per each original .matshad. This leads to the need to make your shader mod compatible with other mods that change unrelated stuff within the same .matshad, and the combinatorics for that can get very tiresome very quickly. Additionally, since everyone names their file however they want and there's no standardisation, and downloaders need to look into the package with SimPE and see if they have any other shader mods with the same TGI or contents (not an easy or automated thing to do, since SimPE doesn't display .matshad names), it's very easy to have conflicting shader mods.
Enter Git. For those who don't know, Git is a free and open-source version control software that makes it very easy for multiple people to collaborate on shared code, compute differences between two versions of the same file and apply just the differences, switch between different versions of a file, restore stuff back to an initial clean slate, view and revert your changes piece-by-piece as you work, and way way more. I'm willing to shill for Git for a very wide variety of use cases, it's a really cool tool. It has a bit of a learning curve, especially for people who are not very technical or comfortable in command line, but there are GUI tools for those who prefer them (e.g. Sourcetree), and in addition maybe I can write some batch or shell scripts for making things easy for newbies.
Note: I will not go very much into detail explaining basic Git terminology here, but I'll try to make this comprehensible to those with no experience. I've added a brief guide to Git under the cut.
How it works
First things first, everyone who uses this system, whether as a shader programmer or as a downloader, needs to download and install Git on their PCs.
I will make a public repo on my Github account containing all Maxis shaders, each in their individual folder named after the included .matshad. A given folder will have two files: .package (added to gitignore), and .matshad. Creators are kindly asked not to rename them; this way we know immediately when the same resource has been modified. Git will only track the changes to the .matshad, because even though .package files containing a .matshad have huge chunks of plaintext, they're still ultimately binary files and Git is bad at processing those. The initial commit of the Git repo on the master branch will contain the Maxis shaders in their unmodified state as of M&G. The master branch will stay clean; no pull requests into it will be approved. This is so that people can easily switch back to vanilla shaders.
Creators will push their commits to their own branches on the remote repo. They're asked to please base their work off the initial Maxis commit to the greatest extent possible, and not on other creators' work, unless they work on the same piece of code as someone else whose work they want to include. This is to make it easy for people to pick and choose whatever they like.
Downloaders will clone the repo into their Downloads folder.
When they want to search for new shaders to download, they'll do a git fetch or git pull.
They'll make a local branch into which they'll cherry pick commits for each shader mod they want in their game. (Cherry pick, not merge, unless you have the exact same taste in shaders as a given creator.)
Then they'll open the .gitignored package with SimPE and replace the contents of the .matshad included in the package with the ones of the separate .matshad. This process can be manual or I could make a script for it.
Note on the binary conundrum
It is technically perfectly possible to add .package files or any binaries to a Git repo, either just them or alongside a separate .matshad. The advantage of this method is that users no longer have to manually replace the .matshad in the .package, which can be nifty for inexperienced or inattentive users. The drawback is that Git saves changes to binary files as the whole damn file, which can make the repo balloon up to large sizes with successive changes. Assuming you don't download new shaders all day every day, the trade-off can be worth it. Idk. Discuss.
Misc comments & possible problems
Git is useful, but it's not very smart. In particular it doesn't speak Matshad (or C++, or Python, or even English). You can have situations where a merge is completed successfully, but this leaves the shader in an inconsistent state, and the game either fails to load any hood/lot or flashes pink everywhere. In situations like these, know you have just downloaded a shader that's incompatible with what you already had on your local branch, and you need to revert the commit (or the nuclear option, go back to vanilla shaders).
Please don't push your local branch with everything you use in your own game. Do a git log to ensure your branch history is clean. The original repo won't come with a local branch for personal use; you need to make that yourself. Tutorials and sometimes scripts will be provided for everything a downloader needs to do.
Backup branches can be created to save the state of your shaders when you're happy with how your game looks and are worried about future shaders breaking it.
Make sure your downloads manager doesn't delete the files that make a Git repo because it sees them as non-packages and therefore junk. (Haven't tested this and normally Git files stay in a hidden folder, but just in case.)
Poll
I gotta admit I'm not very experienced with Github yet, as opposed to Bitbucket or Azure, so I don't know how easy it is for creators to push to secondary branches of a repo they don't own, if someone needs to approve that, or if it's easier for them to fork the repo and start their own changes and downloaders who cloned the original repo can pull commits from the fork, etc. If you know more about that, please discuss in the comments, esp. as applied to TS2 shaders.
ANYWAY. I'd like shader creators (and shader creators only), especially those who have already uploaded shaders, to please vote on whether they'd prefer to make a Github account themselves and push their own commits, or if they'd rather not bother with all this Git stuff and prefer me to make a commit with their modifications on their behalf (with the right credits and all that).
Please note that no action will be taken imminently towards yours or anyone's work; the Git repo doesn't exist yet and I won't upload things without people's permission, unless they've been inactive for 10 years or whatever. I just want to gather opinions to see which implementation will be the most popular.
Poll for creators: How would you prefer your work to be published to the Github repo? (Please don't vote if you're not a creator of TS2 shaders.)
I'd rather make a Github account myself and push my own commits
I'd rather ask you to publish the commit on my behalf and credit me
I don't want my shaders included in this Git repo at all
Voting ended onOct 16, 2025
Conclusion
And that's it! Please let me know in the comments if any part of this is harebrained or if this all sounds too complicated for a bunch of Sims 2 downloads. I will nevertheless continue to sing the praises of Git (and I would also like to add that Git proficiency looks pretty good on your resume, for those thinking of going into tech).
Bonus: Newbie guide to Git
A repo(sitory) is a collection of files that has an associated history of commits and branches.
A commit is a registered change to the state of the Git repo; it can be as tiny or as extensive as the creator decides, and (ideally) it has an associated commit message explaining what has been changed. Commits can be added, dropped, edited, cherry-picked, whatever. This allows for highly modular changes to the state of the repo.
Branches are a stack/list of commits; the older ones are on the bottom, the newer ones on the top, and essentially in a branch each commit is applied to the previous one. You can switch between branches extremely easily and it changes the contents of your files on the disk without losing what you had on the other branch.
Cloning a repo means downloading it (the files themselves and all associated Git stuff) to your PC.
Repos can be local (on your PC only) or remote (online); local repos can be linked to the remote ones, and automatically will be if you clone an online repo rather than initialise one from some of your local files.
That doesn't mean you receive live updates from the remote repo, nor (Christ in heaven) that everything you do is automatically uploaded to the remote for everyone to have. Repo updates are downloaded and respectively uploaded manually. Downloading is called pulling, and uploading is called pushing.
Not everyone has the rights to push commits to every branch of a remote repo. If you're not the owner of the repo or otherwise you don't have the rights to push freely to a certain branch (usually the main, or master branch), you need to make a remote branch of your own and then ask other users to approve your changes for merging them into the main branch. This is called a merge request (or, a bit counterintuitively, a pull request).
Merges don't automagically succeed every time. If the history of two branches diverges (you have some commits that they don't have, and they have some commits that you don't have), and the differing commits on those branches involve the same lines in the same files, Git will mark the merge conflict with some ugly marks in the affected files and you need to work out on your own how the file is supposed to look like. In the specific case of TS2 shaders, it means that you, dear user, have to either understand what the code is doing and solve it yourself, or notify the creator to fix their shit.
Git is not a programming language. You don't need to learn anything super complicated to use it. You just need to run commands in the command line, click on a .bat script running these commands on your behalf if you don't know your way around a terminal, or click buttons in Sourcetree. (A bit d'oh, but just adding this here for people who have this misconception.) If you can do a cd and ls, you're golden.
Git is not a huge program. It's a few tens of MB on the disk at most, on the order of a Pookleted hair. The extra files needed for a repo add extremely little overhead to your Downloads folder.
You don't need a Github account to download the shader repo; this is only for uploading. It is assumed that if you can do assembly math, you can run a git commit.
Do you also feel a heavy weight on your mind when reading the Sims 4 CC creators' TOU?
"No recoloring, no editing, no conversions, no packaging with lots, no breathing and no viewing my cc on any day except the first Saturday of the month."
No, seriously. Doesn't that discourage anyone from downloading any of this?
hi :) i'm sorry if this is a huge thing to ask but could you share the base textures for all the hairs you have retextured so far? i love your hair textures and i'm planning on retexturing all my hairs using them but it will be a massive project as i have hundreds of hairs so i was wondering if you were willing to share your existing retextures :)
Hi! I'm not entirely sure I understood the question correctly. Do you need uncompressed hair textures that I've already retextured? Then, unfortunately, I can't help you with that because I don't think I saved them. At least I couldn't find any backups.
Published two hairstyles for sims of both genders and all ages. I already posted the NewSea Pageboy conversion on GoS, but only now added retexture and recolors.