hat-wizardScene Wizard

This page documents the Scene Demo Setup Wizard.

It explains:

  • What the wizard builds.

  • What each option means.

  • What gets generated in scene.

  • How auto-detection and auto-fill work.

  • Common troubleshooting steps.

Open Wizard

Menu path:

  • Tools/Character Creator/Scene Demo Setup Wizard

Source:

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

Purpose

The wizard generates ready-to-use demo UI canvases for Character Creator:

  • Full Character Creator UI (CharacterCreatorDemoUI).

  • Preset Gallery-only UI (CharacterPresetGalleryUI).

  • Or both at once.

It creates all required UI hierarchy/templates and wires references automatically.

Requirements

For Full Character Creator Demo or Both outputs:

  • Character Root must be a scene instance (not prefab asset).

  • Character should already have:

    • EquipmentManager

    • BlendshapeSynchronizer

    • CharacterPresetManager

    • body SkinnedMeshRenderer

For Preset Gallery Only:

  • Character Root is optional.

  • Full-demo-only options are disabled.

Output Modes

UI Output options:

  • Full Character Creator Demo

  • Preset Gallery Only

  • Both

Behavior:

  • Full Character Creator Demo: builds CharacterCreatorDemoCanvas.

  • Preset Gallery Only: builds CharacterCreatorPresetCanvas.

  • Both: builds both canvases.

UI Designs

UI Design options:

  • Minimal Dark Overlay

  • Diegetic 3D World Space (Dark)

  • Minimal Light Overlay

  • Diegetic 3D World Space (Light)

Notes:

  • Overlay designs use ScreenSpaceOverlay.

  • Diegetic designs use WorldSpace canvas and auto-position near the character.

Character Section

When output is not Preset Gallery Only, the wizard shows:

  • Character Root object field.

  • Component status checks:

    • EquipmentManager

    • BlendshapeSynchronizer

    • CharacterPresetManager

    • Body Renderer

    • BodyPartLengthAdjuster (optional)

If components are missing, it warns to run Character Creator Setup Wizard first.

Auto-Detection Rules

On character root change, the wizard auto-detects:

  • EquipmentManager, BlendshapeSynchronizer, CharacterPresetManager, BodyPartLengthAdjuster.

Body renderer resolution order:

  1. BlendshapeSynchronizer.sourceRenderer

  2. CharacterPresetManager.bodyRenderer

  3. Child SkinnedMeshRenderer with highest blendshape count

Expression renderer resolution order:

  1. Face renderer under Default Face Object (if valid)

  2. Best child renderer matching face/expression tokens

  3. Any child renderer with highest blendshape count (excluding body renderer)

Options

Core options:

  • Add EventSystem: creates EventSystem if missing.

  • Replace Existing Demo Canvas: deletes existing demo/preset canvases before rebuild.

Full-demo options:

  • Enable Head Tab (Hair/Face)

  • Enable Expressions Tab

  • Expressions Renderer

  • Blendshape Filter Profile

  • Blendshape Filter Catalog

  • Auto Resolve Filter From Catalog

  • Default Hair Object

  • Default Face Object

  • Override Skin/Eye Slots

  • Override Equipment Color Properties

Preset-gallery-only behavior:

  • Head/Expressions/filter/override options are forced off and shown disabled.

Blendshape Filter Assets

The object fields accept only current valid types:

  • BlendshapeFilterProfile

  • BlendshapeFilterCatalog

If you drag an old/incompatible ScriptableObject, the wizard shows a warning and keeps current valid value.

Skin/Eye Slot Overrides

When Override Skin/Eye Slots is enabled:

  • You can manually define:

    • Renderer

    • Material Index

    • Color Property

  • Or click Auto-Fill Slots From Body Renderer.

Auto-fill behavior:

  • Scans candidate skinned mesh renderers.

  • Uses material name token heuristics for skin/eye detection.

  • Picks first valid color property from known shader property names.

  • Avoids duplicate slot entries by renderer/material/property key.

Equipment Color Property Overrides

When Override Equipment Color Properties is enabled:

  • You define the list of shader color property names used by equipment color UI and preset tracking.

  • Empty/duplicate entries are filtered before applying.

Build Flow (What Happens on Build)

When you click build:

  1. Starts one Undo group.

  2. Optionally removes existing:

    • CharacterCreatorDemoCanvas

    • CharacterCreatorPresetCanvas

  3. Optionally creates EventSystem if missing.

  4. Builds selected output canvases.

  5. Selects and pings last built object.

  6. Marks scene dirty.

  7. Logs rebuild result.

Generated Full Demo Canvas

Created root:

  • CharacterCreatorDemoCanvas

Adds and wires:

  • CharacterCreatorDemoUI

  • Tab buttons and panels:

    • Equipment

    • Head

    • Expressions

    • Body

    • Presets

  • Runtime row templates:

    • equipment row template

    • head equipment row template

    • body blendshape slider template

    • expression slider template

    • preset entry template

  • Preset input/save controls

  • Body sliders (arms/legs/neck/torso/uniform scale)

It also writes runtime toggles/references on CharacterCreatorDemoUI:

  • head tab enable

  • expression tab enable

  • default hair/face objects

  • expression renderer

  • blendshape filter profile/catalog settings

Created root:

  • CharacterCreatorPresetCanvas

Adds and wires:

  • CharacterPresetGalleryUI

  • Preset list content

  • Preset card template

  • Empty state text

If no CharacterPresetManager was detected, it still builds and logs a warning so you can assign later.

Preset Manager Side Effects

When full demo UI is built and CharacterPresetManager is present:

  • If Override Skin/Eye Slots enabled:

    • applies explicit skin/eye slot arrays.

  • Else:

    • runs AutoConfigureExplicitColorSlots(resetExisting: false).

  • If Override Equipment Color Properties enabled:

    • applies custom equipmentColorPropertyNames.

  • Always runs:

    • AutoConfigureMaterialTracking(resetExisting: false).

Diegetic World-Space Placement

For diegetic designs, wizard:

  • Uses Camera.main as canvas event camera (fallback: any camera).

  • Auto-positions canvas near character bounds/front-left or front-right.

  • Rotates canvas to face the character.

If no camera exists, wizard logs a warning and you should assign one on the canvas.

Troubleshooting

Symptom
Likely Cause
Fix

Build button disabled

Missing character root/components for full output

Assign scene character with required managers, or use Preset Gallery Only mode

"Use a scene instance, not a prefab asset" warning

Prefab asset assigned in character field

Drag scene instance instead

Head/Expression/filter options greyed out

Output set to Preset Gallery Only

Switch UI Output to Full or Both

"Selected asset is not a valid BlendshapeFilter..."

Old/incompatible ScriptableObject type

Create a new profile/catalog asset from current scripts

Diegetic UI not clickable

No world camera assigned

Assign event camera on generated world-space canvas

Gallery builds but shows no data

presetManager not assigned

Assign CharacterPresetManager on CharacterPresetGalleryUI

  1. Run Character Creator Setup Wizard first on the character.

  2. Verify managers/renderers on character root.

  3. Open Scene Demo Setup Wizard.

  4. Choose output + design.

  5. Enable optional tabs/filters/slot overrides as needed.

  6. Build.

  7. Enter Play Mode and verify runtime behavior.

Last updated