Building the switcher
Last updated
Last updated
Let me start by saying that it's extremely important that you follow these directions carefully and correctly. Failure to do so can (and likely will) result in various issues, from switchers not showing up at all to incompatibility with other CCXL Tattoo Toolkit mods.
...so let's get to it!
First, decide whether you want to start with Male V or Female V. It is easier to get things working with one of them first, then copy everything over to the other once every thing is working.
I will start with Female V, and continue with the chest tattoo template. Open the corresponding .inkcharcustomization file in the project explorer:
Personally, there are too many things happening on my screen, so let's close a few tools we don't need for now. You can close the import/export tools for the time being, and we also won't be using the asset browser in this tutorial:
That's better.
Now, go ahead and expand bodyCustomizationOptions to reveal its options:
Here we have a switcher, and two appearances.
Lets expand our gameuiSwitcherInfo:
If you look at the switcher parameters, you can see that I've highlighted a few key areas that are crucial to making this switcher function properly. Editing any of these parameters will result in a switcher that either doesn't function as intended, or worse, doesn't function at all; however, it helps to understand what each parameter does.
editTags determines where your switcher will be available to use, and should have the following values
NewGame
Ripperdoc
index is responsible for the order in which switchers are displayed in the character creator
"3305" places this switcher well out of the way of other vanilla switchers; right_shoulder_tattoo has an index of 3304 and stomach_tattoo has an index of 3306, so chest_tattoo falls between the two in the character creator
localizedName carries a string value that will be the name of the switcher as displayed in the character creator â these often reference localization files for different language options, but CCXL Tattoo Toolkit currently just uses plain English text strings
name is the name of the switcher used by the game as a reference point, and is how multiple additions can be combined into a single switcher
IMPORTANT: Do not edit name unless you are trying to create your own separate switcher (do this at your own risk!) The name provided in the template should be left as-is!
options are the actual options that your switcher...switches; these are calls to our gameuiAppearanceInfo by name (more on this later)
randomizeCategory pertains to the randomizer in the character creator; this should be self explanatoryâthese are tattoo additions, so set it to "Tattoos"
uiSlot is the slot your switcher occupies, and should be unique to the switcher
uiSlots are the slots that your switcher controlsâthe slots your gameuiAppearanceInfo will occupy
Now that we know a little more about how a switcher works, we can see why it's important to leave these parameters alone; all mods created with CCXL Tattoo Toolkit should be able to share the same switcher, but that will only work if each mod uses the same switcher parameters.
Expand your switcher options:
Now, expand the gameuiSwitcherOption 's
A switcher must have at least two options in order to work. A switcher with less than two options will look like this in-game:
For this reason, you must always include the default "off" option within your custom tattoo switcher. That being said, it's already been included for you in the template, so just leave it alone and move on to the second switcher option.
This will be the gameuiSwitcherOption for our custom tattoo addition. The setup is very simple:
Just like our switcher, index controls the order that the options are shown. Off has been given an index of 0, so we'll give our custom option an index of 1.
localizedName will be the name of the option that is shown in the character creator. Call it whatever you'd like, but rememberâit's gotta fit the physical boundary of the switcher, and you don't want it to overlap with the switcher name, so try to keep it simple:
names correspond to the name of the gameuiAppearanceInfo we want to call for this option, and this is what we'll cover next.
Now that we've built our switcher, go ahead and collapse it so we can move on (and don't forget to save your edits with Ctrl + S).