-
Notifications
You must be signed in to change notification settings - Fork 3
03. Adding Fur Patterns
Fur patterns are one of the easier things to add. But, it will still take some effort to get used to all the configuration.
Before we can even get to texturing, we need to configure some stuff.
As with the ModDefinition we added, we need to add some more "Scriptable Objects".
Specifically, we need a CharacterToggleId.
It's easier to just copy an existing one that's close to what we want.
In this case, I want to add a fur pattern on the cheek. In the Project panel, navigate down into /ScriptableObjects/CharacterCompositor/CharacterToggleId/Pattern-Head/ and find the asset named Pattern-Head-Hard Blush.
CTRL-C copy it, and paste it into your mod folder. Rename it appropriately:

If you hit play now, you'll actually see the new toggle:
But it's currently identical to the existing one. Let's change that:
If we look at the editor, there's a lot going on. Let's start simple and modify this CharacterToggleId:
- Change the
Display Nameto something appropriate - Down under
Order, change theIndexsuch that it appears later.
If you hit play again, you'll see those changes reflected:
Now we need to actually configure how the texture will display. For this, we need a MixTexture (another Scriptable Object).
Once again, let's copy one in. This time, take /ScriptableObjects/CharacterCompositor/MixTexture/Head/FurPattern/Head-FurPattern-HardBlush.
Tip: You can also also just double click the asset from the inspector to quickly navigate to it.
![]()
Tip: You can use CTRL-ALT-Z as a back button to return yourself to your mod folder
This asset has its own fields, and asset references:
So we need to keep going down the chain configuring the Scriptable Objects in the Inspector, creating copies of their references, and configuring those. Let's try it out:
- On the
CharacterToggleId, change theAdded Texture Referencesto the newMixTexture - On the
MixTexture, change theOrder->Indexto something much later-
This controls what textures this is drawn over, and how it is ordered in the color page
-
- On the
MixTexture, create a copy of the of theRe Color Id Referenceasset and assign it-
Make sure to give the
ReColorIda proper name; this is displayed on the color page
-
- On the
MixTexture, create a copy of theMask Reference.pngasset and assign it-
This is the actual texture we'll use for the fur pattern
-
Your assets should look like this:
And your Scriptable Objects should be configured like this:
If you've made it this far: congratulations! As far as configuring things goes, that's really all there is to it.
Note that we didn't replace everything. For example, we left the
Target Material Description Referencealone on theMix Texture. This is configuring the objects and material this gets drawn to, and it's already setup well enough that we don't want to redefine it. This is the benefit of thisScriptable Objectsystem: re-usability.
Now that we're done configuring things, we can finally make the texture. For something this basic, I'll just replace the dot with a star using Paint.NET.
Now if you hit play, you'll finally see a functional toggle.
The icon still hasn't updated. We'll get to that later, but if you can't wait, you can generate a new icon from your
ModDefinitionby clickingGenerate Toggle + Pose Icons![]()
Just guessing where to texture things isn't always going to work. What we really want to do is texture things in Blender.
Outside of Unity, find and open the /YingletCreator/WorkingAssets/Yinglet-Base.blend file.
- Open the
Texture Paint - Right Click the Head
- Click down onto the Ucupaint extension
- Under Layers, click the (+) plus symbol and select
Open Image...to add your texture:
Now we can draw directly onto the head! If you're unfamiliar with texturing in Blender, you might want to stop here and search up some tutorials on it.
All that really matters here though is transparency, so it shouldn't be too complicated.
The face pattern was already good, so I also made a sample back pattern with a star, using the Pattern-Body-Back Stripes as my starting point:
Now might also be a good time to verify that these are showing up properly in the color page: