Beginner's Guide To Default Replacements
Jul. 7th, 2021 07:37 pmOptional title: Why Are My Defaults Broken And How Do I Fix It?
I've been meaning to do this for a while, never gotten around to it, but here we are! This is meant to be an overview of how defaults work, how they don't work, what different types there are and how conflicts may occur.
I'm going to split these into three different groups, those being single-resource replacements (mesh or texture), mesh and texture replacements, and 3IDR and property set replacements.
1. Single resource replacements
Pros: Unlikely to conflict, work with texture referencing add-ons (textures) and custom recolours (meshes)
Cons: Not very customizable
Conflicts: Unlikely
These are, imo, the least invasive replacements, and the least likely to conflict with something else. You can often get even more use out of these, which I will explain later.
1.1 Texture replacements
Out of these two, texture replacements are probably the most common. The way these work is that the original textures are extracted, and are then overwritten/replaced with new textures. What you'll see from these are usually minor edits, editing colours, patterns, or removing painted-on jewelry. You can also see texture replacements for hairs, though it's not very common. The new textures still need to fit the old mesh, so there's not too much freedom to change things.

A typical texture replacement will look like this. Sometimes there are also material definitions, but I consider though basically the same because of how closely linked textures and material definitions are.

Here's what said replacement looks like. The top row shows the original outfit, and the bottom row shows the outfit with Katsurin's texture replacement. You can clearly see that it's the same mesh.
Another use for texture defaults is for outfits that are texture referenced to in-game textures.

Here is Skell's separated Adam tube top shown with anna's Less Jewellry default. The custom shirt picks up on the new textures. As someone who uses a lot of clothes like these, I love combining them with texture defaults to easily give things a new look.
1.2 Mesh replacements
Mesh replacements change something about the 3D model that the textures go on. Mesh replacement files should also just contain one resource, the geometric data container (gmdc). Sometimes, there will be geometric nodes, resource nodes and shapes, but they aren't needed. As with texture replacements, mesh replacements are used for minor edits, such as adjusting the shape of something, or adding preg morphs.

Here is Cat's mesh replacement, where changes have been made to the waist shape and underboob shadow. This is a pretty standard level of edits, mesh replacements rarely have drastic changes.
These types of replacements are also compatible with each other, so you can have both a texture replacement and a mesh replacement for the same outfit.
2. Mesh and texture replacements
Pros: Very easy to make
Cons: Renders meshes unusable for custom recolours, forces you to use the same mesh and texture for different age groups, requires a new mesh with the same groups (meaning it's hard to use this method for hair replacements, or to replace clothes with 3t2 or 4t2 conversions)
Conflicts: With custom recolours of afflicted meshes and texture references to afflicted textures
These are... probably my least favourite default replacements. A tutorial for how to make them is here by Marja, though some of the steps for how you change the mesh are unnecessary. You only need to extract the original geometric data container and replace it with the new mesh.

This is what one of these replacements will typically contain. The highlighted resources are the only necessary ones, though. On their own, these defaults are fine, but there are a few ways they can conflict with other content.

The first image shows this replacement for daisydressboots by kamina, next to one of my defaults that uses textures from daisydressboots. Since defaults of this type replace the textures, any add-ons or whatever that is referenced to them will be broken.
The second image shows this replacement for pajamasclassic by Marja, and a custom recolour of pajamasclassic by nichellerj. Since the mesh for pajamasclassic has been swapped out, textures that are linked to the mesh will no longer be applied properly.
3. 3IDR and property set replacements
Pros: Highly customizable, will not affect unreplaced items using the same mesh or texture, only viable option for hair replacements
Cons: Somewhat tedious to make, enables delete button in-game
Conflicts: With hiders and recategorizers
These are the most common, and the most customizable. It's possible to replace just one outfit out of a bunch, like for these mix and match maternity replacements. A tutorial for how to make these is here by Marja. There isn't really that much to say about the defaults themselves, but I want to explain what happens when these conflict.

Here are two examples of that, shown on default replacements by me using Phaenoh's Great Clothing Migration Mod. So, why does this happen?

On the left is the property set from my default replacement, and on the right is the one from Phaenoh's mod. The way hiders and recategorizers work is by editing property sets, usually changing gender, flags or category. However, these types of default replacements also edit the property sets. If you compare the two, you can see that I've changed numoverrides and added another group to this, separating body and shoes. With the hider installed, the game reads that instead, so it only looks for the body group, not shoes, resulting in a Sim with missing feet.

Here's what it can looks like when it happens to hair.
Something to note is that defaults of this type also render recategorizers practically useless, since the same edits can be made to the property set in the default replacement.
So... that's pretty much it? I might add on to this in the future, but hopefully this is a good resource for now!
4. Miscellaneous conflicts
I'm adding this section because I have encountered issues relating to other things than strictly these "basic" conflicts, and even though they should be more rare, someone might still have these specific problems and not know why.
4.1 Recycled resources
This can happen when a creator replaces the contents of the resources in an existing default replacement, rather than starting from scratch and completely relinking it to new resources. So far, I've only ever seen it in this replacement for fhairflypigtails by xwhitepolar. The way they made it was by extracting the gmdc resource from amidala's Birds mesh, and replacing the gmdc resource for 3t2 Steampunk Pigtails in an existing default replacement with that. If you only have one of those two meshes in your game, you will probably never notice the conflict, but if you have both, it'll look something like this.

As far as the game is concerned, you only have two instances of the exact same resource. In this case, I have a custom version of 3t2 Steampunk Pigtails and xwhitepolar's default replacement for fhairflypigtails. On the top, the game reads the unedited mesh version, which leads to the custom hair showing up correctly, and the default replacement appearing broken. On the bottom, the opposite. The game reads the edited mesh version, so the custom hair appears broken and the default replacement looks fine.
The way to fix this is to... just remake the default replacement from scratch with the correct mesh, or decide that you only really want one of these hairs in your game, anyway.
Okay, now it's pretty much it for real! I'll add more things to this section if I ever encounter anything else.
I've been meaning to do this for a while, never gotten around to it, but here we are! This is meant to be an overview of how defaults work, how they don't work, what different types there are and how conflicts may occur.
I'm going to split these into three different groups, those being single-resource replacements (mesh or texture), mesh and texture replacements, and 3IDR and property set replacements.
1. Single resource replacements
Pros: Unlikely to conflict, work with texture referencing add-ons (textures) and custom recolours (meshes)
Cons: Not very customizable
Conflicts: Unlikely
These are, imo, the least invasive replacements, and the least likely to conflict with something else. You can often get even more use out of these, which I will explain later.
1.1 Texture replacements
Out of these two, texture replacements are probably the most common. The way these work is that the original textures are extracted, and are then overwritten/replaced with new textures. What you'll see from these are usually minor edits, editing colours, patterns, or removing painted-on jewelry. You can also see texture replacements for hairs, though it's not very common. The new textures still need to fit the old mesh, so there's not too much freedom to change things.

A typical texture replacement will look like this. Sometimes there are also material definitions, but I consider though basically the same because of how closely linked textures and material definitions are.

Here's what said replacement looks like. The top row shows the original outfit, and the bottom row shows the outfit with Katsurin's texture replacement. You can clearly see that it's the same mesh.
Another use for texture defaults is for outfits that are texture referenced to in-game textures.

Here is Skell's separated Adam tube top shown with anna's Less Jewellry default. The custom shirt picks up on the new textures. As someone who uses a lot of clothes like these, I love combining them with texture defaults to easily give things a new look.
1.2 Mesh replacements
Mesh replacements change something about the 3D model that the textures go on. Mesh replacement files should also just contain one resource, the geometric data container (gmdc). Sometimes, there will be geometric nodes, resource nodes and shapes, but they aren't needed. As with texture replacements, mesh replacements are used for minor edits, such as adjusting the shape of something, or adding preg morphs.

Here is Cat's mesh replacement, where changes have been made to the waist shape and underboob shadow. This is a pretty standard level of edits, mesh replacements rarely have drastic changes.
These types of replacements are also compatible with each other, so you can have both a texture replacement and a mesh replacement for the same outfit.
2. Mesh and texture replacements
Pros: Very easy to make
Cons: Renders meshes unusable for custom recolours, forces you to use the same mesh and texture for different age groups, requires a new mesh with the same groups (meaning it's hard to use this method for hair replacements, or to replace clothes with 3t2 or 4t2 conversions)
Conflicts: With custom recolours of afflicted meshes and texture references to afflicted textures
These are... probably my least favourite default replacements. A tutorial for how to make them is here by Marja, though some of the steps for how you change the mesh are unnecessary. You only need to extract the original geometric data container and replace it with the new mesh.

This is what one of these replacements will typically contain. The highlighted resources are the only necessary ones, though. On their own, these defaults are fine, but there are a few ways they can conflict with other content.


The first image shows this replacement for daisydressboots by kamina, next to one of my defaults that uses textures from daisydressboots. Since defaults of this type replace the textures, any add-ons or whatever that is referenced to them will be broken.
The second image shows this replacement for pajamasclassic by Marja, and a custom recolour of pajamasclassic by nichellerj. Since the mesh for pajamasclassic has been swapped out, textures that are linked to the mesh will no longer be applied properly.
3. 3IDR and property set replacements
Pros: Highly customizable, will not affect unreplaced items using the same mesh or texture, only viable option for hair replacements
Cons: Somewhat tedious to make, enables delete button in-game
Conflicts: With hiders and recategorizers
These are the most common, and the most customizable. It's possible to replace just one outfit out of a bunch, like for these mix and match maternity replacements. A tutorial for how to make these is here by Marja. There isn't really that much to say about the defaults themselves, but I want to explain what happens when these conflict.

Here are two examples of that, shown on default replacements by me using Phaenoh's Great Clothing Migration Mod. So, why does this happen?

On the left is the property set from my default replacement, and on the right is the one from Phaenoh's mod. The way hiders and recategorizers work is by editing property sets, usually changing gender, flags or category. However, these types of default replacements also edit the property sets. If you compare the two, you can see that I've changed numoverrides and added another group to this, separating body and shoes. With the hider installed, the game reads that instead, so it only looks for the body group, not shoes, resulting in a Sim with missing feet.

Here's what it can looks like when it happens to hair.
Something to note is that defaults of this type also render recategorizers practically useless, since the same edits can be made to the property set in the default replacement.
So... that's pretty much it? I might add on to this in the future, but hopefully this is a good resource for now!
4. Miscellaneous conflicts
I'm adding this section because I have encountered issues relating to other things than strictly these "basic" conflicts, and even though they should be more rare, someone might still have these specific problems and not know why.
4.1 Recycled resources
This can happen when a creator replaces the contents of the resources in an existing default replacement, rather than starting from scratch and completely relinking it to new resources. So far, I've only ever seen it in this replacement for fhairflypigtails by xwhitepolar. The way they made it was by extracting the gmdc resource from amidala's Birds mesh, and replacing the gmdc resource for 3t2 Steampunk Pigtails in an existing default replacement with that. If you only have one of those two meshes in your game, you will probably never notice the conflict, but if you have both, it'll look something like this.

As far as the game is concerned, you only have two instances of the exact same resource. In this case, I have a custom version of 3t2 Steampunk Pigtails and xwhitepolar's default replacement for fhairflypigtails. On the top, the game reads the unedited mesh version, which leads to the custom hair showing up correctly, and the default replacement appearing broken. On the bottom, the opposite. The game reads the edited mesh version, so the custom hair appears broken and the default replacement looks fine.
The way to fix this is to... just remake the default replacement from scratch with the correct mesh, or decide that you only really want one of these hairs in your game, anyway.
Okay, now it's pretty much it for real! I'll add more things to this section if I ever encounter anything else.