Skip to content

Tool System Features

Controller Generation

For each source bone in list when applying:

PBCTRL_SourceBone (Holds the Constraint setup)
└── SourceBone_Sim (Holds the PB component)
    └── SourceBone_Jiggle (Holds the rewritten weight)
  • Consistent naming
  • Safe to run multiple times without stacking or duplication of controllers
  • Existing controllers detectable via scan

Session Mode

  • Instantiates working mesh (In-memory)
  • No asset creation
  • Fully reversible
  • Safe for rapid iteration

Recommended for parameter tuning.


Persist Mode (Bake)

  • Always rebuilds from pristine backup
  • Creates brand-new mesh asset
  • Never overwrites existing mesh
  • Meshes use timestamped naming to support cleanup.
  • Safe delayed cleanup (Configurable in Options)

Persist is immutable output in that sense.


Backup System

A hidden object under the avatar stores:

  • Original mesh
  • Original bones
  • Original root bone
  • Relative SkinnedMeshRenderer path

Used for:

  • Predictable rebuild
  • Influence detection
  • Restore
  • Corruption prevention

Persist Guardrail

When removing controllers in Persist Mode:

  • Existing controllers are scanned
  • Omitted controllers are detected
  • Influence is checked via pristine backup
  • Warning message (modal) appears if risk detected

Options:

  • Cancel
  • Scan & Fill
  • Run Anyway

Prevents silent vertex data loss.


Rolling Cleanup

Retention options:

  • Disabled (Manual cleanup button in Debug foldout)
  • Keep 1
  • Keep 2
  • Keep 5

Cleanup:

  • Groups baked meshes by SkinnedMeshRenderer hash
  • Sorts by timestamp
  • Deletes oldest beyond retention
  • Never deletes referenced meshes

Advanced Usage

Presets

  • Save configuration presets
  • Load across avatars
  • Share within projects

Stable Rebuild

Persist (Bake) always derives from backup, ensuring:

  • No cumulative corruption
  • Stable bindpose integrity
  • No bone index drift