logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class RecipeNode

    A single serialized value in the generic recipe representation. The generic serializer turns a ScriptableObject's SerializedProperty tree into a tree of these nodes, so arbitrary Serenity assets (composite views, themes, actions, settings) — including polymorphic [SerializeReference] signal graphs — can be captured without a bespoke DTO per type.

    Inheritance
    object
    RecipeNode
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.ProjectRecipe.Infrastructure.Editor.Model
    Assembly: Serenity.UnityProjectRecipe.Infrastructure.Editor.dll
    Syntax
    public class RecipeNode
    Remarks

    Kept JsonUtility-friendly: concrete fields only, no dictionaries, no polymorphism. The kind discriminator selects which value field(s) are meaningful. Object references are stored as project asset paths (in text), never Unity GUIDs.

    Constructors

    RecipeNode()

    Declaration
    public RecipeNode()

    Fields

    arrayKey

    Declaration
    public string arrayKey
    Field Value
    Type Description
    string

    For UpsertById, the element sub-field used as identity. Empty defaults to "Id". Ignored unless arrayOp is upsertById.

    arrayOp

    Declaration
    public string arrayOp
    Field Value
    Type Description
    string

    Merge mode for array nodes — see RecipeArrayOp. Empty/unset means Replace (the historical behaviour). Ignored for non-array nodes.

    children

    Declaration
    public RecipeNode[] children
    Field Value
    Type Description
    RecipeNode[]

    Child nodes for object/array/managed kinds.

    integer

    Declaration
    public long integer
    Field Value
    Type Description
    long

    Integer payload: int/long/enum index/bool (0|1)/array size.

    kind

    Declaration
    public string kind
    Field Value
    Type Description
    string

    Discriminator — see RecipeNodeKind.

    name

    Declaration
    public string name
    Field Value
    Type Description
    string

    The serialized field name this node represents (empty for array elements).

    number

    Declaration
    public double number
    Field Value
    Type Description
    double

    Floating payload: float/double.

    text

    Declaration
    public string text
    Field Value
    Type Description
    string

    String payload: string value, enum name, asset path (objref), or managed type name.

    w

    Declaration
    public float w
    Field Value
    Type Description
    float

    See x.

    x

    Declaration
    public float x
    Field Value
    Type Description
    float

    Component payloads for vectors, colors, quaternions, and rects.

    y

    Declaration
    public float y
    Field Value
    Type Description
    float

    See x.

    z

    Declaration
    public float z
    Field Value
    Type Description
    float

    See x.

    In this article
    © 2026 Serenity. All Rights Reserved