Namespace Serenity.ProceduralAnimator.Infrastructure.Editor
Classes
BoneIdRefDrawer
Custom PropertyDrawer for BoneIdRef that provides dropdown selection of bone IDs. Searches for a ProceduralAnimatorProfileSO in the same folder or parent folders to populate the dropdown with available bone IDs. Falls back to text field if no profile is found.
MaterialIdRefDrawer
Custom PropertyDrawer for MaterialIdRef that provides dropdown selection of material IDs. Searches for a ProceduralAnimatorProfileSO in the same folder or parent folders to populate the dropdown with available material IDs. Falls back to text field if no profile is found.
PrefabProceduralAnimatorApplier
Static utility class for applying ProceduralAnimator components to prefabs. Handles component addition, bone auto-detection, and reference wiring.
PrefabProceduralAnimatorApplier.ApplyResult
Result of applying ProceduralAnimator to a prefab.
ProceduralActionSOEditor
Custom inspector for every concrete ProceduralActionSO subclass.
ProceduralAnimatorBoneMapping
Serializable per-row model for ProceduralAnimatorSetupWindow's bone-mapping list. Stores a bone id and the transform's path within the prefab (a UnityEngine.Transform reference cannot be serialized directly since the prefab is only ever loaded transiently via UnityEditor.PrefabUtility.LoadPrefabContents(System.String)).
ProceduralAnimatorComponentEditor
Custom editor for ProceduralAnimatorComponent that implements conditional field display based on the useProfileConfiguration toggle. When Profile mode is enabled, local override arrays are hidden to reduce visual clutter and prevent accidental editing.
ProceduralAnimatorProfileSOEditor
Custom editor for ProceduralAnimatorProfileSO that displays validation warnings, provides tools for fixing common configuration issues, and offers improved UX for Material Targets with Renderer ObjectField selection and auto-detection.
ProceduralAnimatorScaffoldGenerator
Static utility class for generating ProceduralAnimator assets. Creates complete scaffold with proper references and folder structure.
ProceduralAnimatorSetupOrchestrator
Engine class for ProceduralAnimatorSetupWindow: prefab/rig resolution and
transform-path validation, extracted so the window only collects input, draws GUI, and calls here.
Mirrors the *Creator pattern used by the other wizards (Feedback/GameSettings/Cutscene) —
logging is reported through callbacks so the exact message text/order the window already showed is
preserved without this class depending on UnityEditor.EditorWindow.
ProceduralAnimatorSetupWindow
EditorWindow for generating a minimal ProceduralAnimator setup with periodic oscillation idle animation.
Stepped wizard (Rig -> Bone Mapping -> Bone Selection -> Idle Layer -> Summary), mirroring
Serenity.GameSave.Infrastructure.Editor.Builder.CreateGameSaveSettingsWindow's shape: the
scaffolding — the titled header and breadcrumb, the body scroll, and the footer with its error gate —
comes from Serenity.Global.Infrastructure.Editor.SerenityStepWizardWindow`1; this window declares only its own step table
and what the primary action does. Under the file-size ratchet, the prefab
rig-scanning workflow is extracted into Serenity.ProceduralAnimator.Infrastructure.Editor.ProceduralAnimatorRigScanCoordinator (mirroring
the existing ProceduralAnimatorSetupOrchestrator engine class beside it), and each
non-trivial step body is an extracted *StepGui collaborator holding that step's own scroll/filter
state: Serenity.ProceduralAnimator.Infrastructure.Editor.ProceduralAnimatorWizardBoneMappingStepGui,
Serenity.ProceduralAnimator.Infrastructure.Editor.ProceduralAnimatorWizardBoneSelectionStepGui and
Serenity.ProceduralAnimator.Infrastructure.Editor.ProceduralAnimatorWizardIdleLayerStepGui.
ProceduralLayerSOEditor
Custom inspector for every concrete ProceduralLayerSO subclass.
RuleSOEditor
Custom editor for RuleSO that provides conditional field display based on the rule effect. Shows only relevant fields for SetLayerWeight or TriggerAction effects. Provides inline condition editing with type dropdown and nested condition support.
TransformIdRefDrawer
Custom PropertyDrawer for TransformIdRef that provides dropdown selection of transform IDs. Searches for a ProceduralAnimatorProfileSO in the same folder or parent folders to populate the dropdown with available transform IDs. Falls back to text field if no profile is found or transform targets are empty.
UnityStateKeyEditor
Custom inspector for UnityStateKey. Does not derive FoundationEditor{T} — see
UnityStateKey's own doc comment for why this type intentionally stays outside the
IFoundationSettings contract: its serialized id is a stable runtime key, not a
user-editable identifier, and its immutability is the whole point.
Promotes DisplayName to the primary editable field and draws Id disabled by default,
behind an explicit "Unlock Id" toggle for the rare deliberate rekey — Unity's default inspector
used to edit the raw serialized field directly, with zero resistance, even though the
corresponding C# property is get-only.
WeightProviderSOEditor
Custom inspector for every concrete WeightProviderSO subclass.
Enums
ProceduralAnimatorSetupWindow.WizardStep
Public rather than private because C# requires a class's base type to be at least as accessible as the class itself, and this enum is that base type's argument.