wand-magic-sparklesCharacter Wizard

This page documents the Character Creator Setup Wizard.

It explains:

  • What the wizard does.

  • How each step works.

  • What components and values it writes.

  • How equipment slot detection works.

  • How Crystal Save integration is configured.

Open Wizard

Menu path:

  • Tools/Character Creator/Character Creator Setup Wizard

Source:

  • Assets/Arawn/CharacterCreator/Editor/CharacterCreatorSetupWizard.cs

Purpose

The wizard configures a character root with Character Creator runtime components in a guided 3-step flow:

  1. Character setup.

  2. Equipment prefab setup.

  3. Apply + completion.

It is intended for fast initial setup, then manual fine-tuning in Inspector.

Requirements

  • Use a scene instance for Character Root (not a prefab asset).

  • Assign a valid Source Body Mesh (SkinnedMeshRenderer).

  • Character should have an Animator (Humanoid recommended for body-part auto bone setup).

Wizard Steps

Step 1: Character Setup

Fields:

  • Character Root

  • Source Body Mesh

  • Optional integration toggle: Add RememberCharacterPreset

Auto-detection behavior:

  • Finds Animator on root or children.

  • If Humanoid, detects Hips bone.

  • If Source Body Mesh is empty, auto-picks the SkinnedMeshRenderer with the highest blendshape count.

Validation:

  • Warns if Character Root is a prefab asset instead of a scene object.

  • Warns when animator is not Humanoid (body part auto-assignment will be limited).

Step 2: Equipment Setup

You can drag prefab assets into the drop area.

For each added equipment prefab, the wizard later creates one EquipmentPrefab entry and sets:

  • prefab reference

  • uniqueID (new GUID)

  • slot (auto-detected by keyword scoring)

  • boneMismatchHandling = Ignore

  • boneMappingMode:

    • ParentToBone for Hair slot

    • SmartMapping for all other slots

  • ParentToBone defaults:

    • attachLocalPosition = (0,0,0)

    • attachLocalEuler = (0,0,0)

    • attachLocalScale = (1,1,1)

Step 3: Complete

After apply, the page shows completion info and allows selecting the configured character in hierarchy.

What Apply Setup Actually Does

When you click Apply Setup, the wizard:

  1. Ensures EquipmentManager on character root.

  2. Writes playerAnimator.

  3. Builds playerBoneTransforms from detected hips subtree.

  4. Appends equipment entries from Step 2.

  5. Ensures BlendshapeSynchronizer and sets sourceRenderer = Source Body Mesh.

  6. Ensures BodyPartLengthAdjuster (by reflection) and auto-assigns part chains for Humanoid avatars:

    • Arms

    • Legs

    • Neck

    • Torso

  7. Ensures CharacterPresetManager and sets:

    • equipmentManager

    • bodyRenderer

    • blendshapeSynchronizer

    • bodyPartAdjuster (if present)

  8. Calls:

    • AutoConfigureExplicitColorSlots(resetExisting: true)

    • AutoConfigureMaterialTracking(resetExisting: true)

Optional Crystal Save Integration

If Add RememberCharacterPreset is enabled, the wizard now uses RememberComposite flow:

  1. Ensures RememberComposite on Character Root.

  2. Adds RememberCharacterPreset type into RememberComposite._rememberTypes.

  3. Calls RememberComposite.RefreshComponents() so the inner remember component is created/managed correctly.

  4. If found, sets RememberCharacterPreset.savedPresetName to:

    • "Last Session Appearance" (only when empty).

This avoids directly attaching remember modules incorrectly and aligns with Crystal Save composite/ID behavior.

Equipment Slot Auto-Detection

The wizard uses keyword matching on prefab name (lowercase + normalized separators) and scores each EquipmentSlot.

Supported keyword groups include:

  • Hair

  • Face

  • Head

  • Chest

  • Arms

  • Legs

  • Feet

  • Hands

  • Accessories

If no keyword match is found, slot detection returns none (-1) and you can assign slot manually later in EquipmentManager.

Notes

  • Existing components are reused (not duplicated).

  • Undo group is used for the operation.

  • The wizard is for setup acceleration; final production tuning should still be reviewed in Inspector.

Troubleshooting

Symptom
Likely Cause
Fix

Next button disabled on Step 1

Missing Character Root, Source Body Mesh, or Animator

Assign all required fields and use a scene instance

Body part chains not auto-filled well

Animator is not Humanoid

Switch avatar to Humanoid or assign body-part bones manually

Crystal Save option not shown

RememberComposite or RememberCharacterPreset type missing

Ensure Crystal Save remember modules are installed and compiled

Equipment slots feel wrong

Name-based heuristic mismatch

Adjust slot manually in EquipmentManager after setup

Last updated