Switchers are the switches shown in the character creator that allow us to change V's physical appearance. There are two different types of visible switcher: those that cycle through text-labeled options such as hairstyles and tattoos—and those that use icons generally depicting color options. Switchers are generally defined within separate .inkcharcustomization files for each gender.
Types of switchers
Type 1: Cyclic switchers
The hairstyle switcher contains text-labeled options. It requires cycling through options
There are two types of cyclic switcher—one consists of a gameuiSwitcherInfo that defines index and options and two or more gameuiAppearanceInfo's that contain the corresponding option parameters (the first one usually being the off appearance):
gameuiSwitcherInfo
'Options' within the gameuiSwitcherInfo create the options for the switcher, with names pointing to gameuiAppearanceInfo's
The other type of cyclic switcher consists of a gameuiMorphInfo with morph names as its options. The chest size switcher for Female body V is an example of this:
gameuiMorphInfo
The chest size switcher has three options, defined by the morph names.
The second option has no morphName, and is the 'Default' option.
Type 2: Icon switchers
The hair color switcher acts as a cyclic switcher but has icons instead of names:
It can be expanded to show selectable icons.
The icon switcher does not require a gameuiSwitcherInfo but consists of a single gameuiAppearanceInfo, with its options defined as definitions—appearance definitions within a .app file:
Vanilla eye color switcher consists of gameuiAppearanceInfo with 71 appearance definitions as selectable options. It does NOT have a default 'OFF' option.
Each appearance definition references a definition within the .app file attached as a resource in the gameuiAppearanceInfo
Nested switchers
A switcher can have other switchers as options. These are known as a nested switchers:
The hairstyle switcher controls multiple hair_color switchers which also function as appearance options
The uiSlot and uiSlots parameters are what make this possible—each switcher or option can occupy one uiSlot, and every uiSlot can have only one active option:
The hairstyle switcher occupies a uiSlot and controls multiple uiSlots
This hairstyle occupies the hair_color uiSlot
This means that every hairstyle has its own hair color switcher. Since each hair color switcher occupies uiSlot 'hair_color' only one hair color switcher can be active at any time.
Switcher attributes
A switcher has multiple attributes that make them behave in a certain way:
The slot which a switcher or option will occupy. Allows only one active option at a time
string
uiSlots
gameuiSwitcherInfo
The slot(s) a switcher's options will occupy
string
Groups
For most appearance additions, the following groups will suffice:
headGroups
If your switcher is in headCustomizationOptions, you'll want to use these four headGroups:
FPP
TPP
TPP_photomode
character_customization
bodyGroups
If your switcher is in bodyCustomizationOptions, you'll want to use these three bodyGroups:
FPP_Body
TPP_Body
character_creation (not to be confused with 'character_customization' in headGroups)
armGroups
If your switcher is in armsCustomizationOptions, you'll want to use these armGroups:
Female V:
holstered_default_tpp
holstered_default_fpp
holstered_strong_tpp
holstered_strong_fpp
unholstered_strong
holstered_nanowire_tpp
holstered_nanowire_fpp
unholstered_nanowire
holstered_launcher_tpp
holstered_launcher_fpp
unholstered_launcher
holstered_mantis_tpp
holstered_mantis_fpp
unholstered_mantis
nails
character_customization
Male V:
holstered_default
holstered_strong
unholstered_strong
holstered_nanowire
unholstered_nanowire
holstered_launcher
unholstered_launcher
holstered_mantis
unholstered_mantis
nails
character_customization
Each of these holstered and unholstered definitions links to a certain arm cyberware, or none, being equipped by the player. Many of these also have different positioning to each other.