logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class ProceduralStateKeyCollector

    Enumerates every UnityStateKey a ProceduralAnimatorProfileSO references, across its rules, layers, actions and weight providers — including keys buried inside a rule's [SerializeReference] condition tree (AndCondition/OrCondition/NotCondition nesting arbitrarily deep). A typed walk would need one case per condition subtype and would silently miss a new one added later; instead each referenced object is walked with UnityEditor.SerializedObject and UnityEditor.SerializedProperty.Next(System.Boolean), which finds every UnityEditor.SerializedPropertyType.ObjectReference field regardless of what serialized it — [SerializeReference] included — for free.

    Inheritance
    object
    ProceduralStateKeyCollector
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.Editor.AnimationHub.Engine
    Assembly: Serenity.AnimationHub.Editor.dll
    Syntax
    public static class ProceduralStateKeyCollector

    Methods

    Collect(ProceduralAnimatorProfileSO)

    Every distinct UnityStateKey reachable from profile, sorted by display name. Empty for a null profile.

    Declaration
    public static IReadOnlyList<ProceduralStateKeyBinding> Collect(ProceduralAnimatorProfileSO profile)
    Parameters
    Type Name Description
    ProceduralAnimatorProfileSO profile
    Returns
    Type Description
    IReadOnlyList<ProceduralStateKeyBinding>
    In this article
    © 2026 Serenity. All Rights Reserved