logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class ActivationSequenceLayerSO

    Procedural layer that toggles a GameObject on/off through a sequence of activation steps. Applies activation changes via ActivationDelta for per-instance one-shot or repeating on/off sequences (e.g. muzzle flash meshes, telegraph indicators, a weapon's spark effect).

    Weight is a gate, not a blend. Unlike other sequence layers, activation is a boolean — blending it makes no sense. If weight <= 0.001f this layer contributes nothing to the ActivationDelta; otherwise it contributes its current step's active value verbatim, with no lerp/interpolation. Blend-in/blend-out timing on the controlling Rule is therefore meaningless for this layer kind — weight only gates whether the layer contributes, it never blends the boolean itself.

    Inheritance
    object
    ProceduralLayerSO
    ActivationSequenceLayerSO
    Implements
    IProceduralLayer<UnityProceduralContext>
    IFoundationSettings
    Inherited Members
    ProceduralLayerSO.Id
    ProceduralLayerSO.Guid
    ProceduralLayerSO.displayName
    ProceduralLayerSO.phaseMode
    ProceduralLayerSO.repeatCount
    ProceduralLayerSO.Evaluate(in UnityProceduralContext, float, ref PoseDelta, ref MaterialDelta)
    ProceduralLayerSO.Evaluate(in UnityProceduralContext, float, ref PoseDelta, ref MaterialDelta, ref TransformDelta)
    ProceduralLayerSO.Evaluate(in UnityProceduralContext, float, ref PoseDelta, ref MaterialDelta, ref TransformDelta, ref ActivationDelta, ref UiColorDelta)
    ProceduralLayerSO.OnLayerDeactivated()
    ProceduralLayerSO.DisplayName
    ProceduralLayerSO.PhaseMode
    ProceduralLayerSO.RepeatCount
    Namespace: Serenity.ProceduralAnimator.Infrastructure.ProceduralLayers
    Assembly: Serenity.UnityProceduralAnimator.Infrastructure.dll
    Syntax
    public class ActivationSequenceLayerSO : ProceduralLayerSO, IProceduralLayer<UnityProceduralContext>, IFoundationSettings

    Constructors

    ActivationSequenceLayerSO()

    Declaration
    public ActivationSequenceLayerSO()

    Properties

    DrivenChannels

    Writes only Activation — see the 4-delta Evaluate(in UnityProceduralContext, float, ref PoseDelta, ref MaterialDelta, ref TransformDelta, ref ActivationDelta) override below.

    Declaration
    public override ProceduralChannels DrivenChannels { get; }
    Property Value
    Type Description
    ProceduralChannels
    Overrides
    ProceduralLayerSO.DrivenChannels

    SequenceDurationSeconds

    The sum of all step durations — one full pass through the sequence. Used together with RepeatCount in ON_ACTIVATE mode to know when the sequence has repeated enough times to auto-deactivate.

    Declaration
    public override float SequenceDurationSeconds { get; }
    Property Value
    Type Description
    float
    Overrides
    ProceduralLayerSO.SequenceDurationSeconds

    Methods

    Evaluate(in UnityProceduralContext, float, ref PoseDelta)

    Legacy pose-only evaluation. Does nothing for activation layers.

    Declaration
    public override void Evaluate(in UnityProceduralContext ctx, float weight, ref PoseDelta pose)
    Parameters
    Type Name Description
    UnityProceduralContext ctx
    float weight
    PoseDelta pose
    Overrides
    ProceduralLayerSO.Evaluate(in UnityProceduralContext, float, ref PoseDelta)

    Evaluate(in UnityProceduralContext, float, ref PoseDelta, ref MaterialDelta, ref TransformDelta, ref ActivationDelta)

    Evaluates the activation sequence and, if weight gates it open, writes the current step's active value into the activation delta (see the class-level remarks on weight-as-gate).

    Declaration
    public override void Evaluate(in UnityProceduralContext ctx, float weight, ref PoseDelta pose, ref MaterialDelta material, ref TransformDelta transform, ref ActivationDelta activation)
    Parameters
    Type Name Description
    UnityProceduralContext ctx
    float weight
    PoseDelta pose
    MaterialDelta material
    TransformDelta transform
    ActivationDelta activation
    Overrides
    ProceduralLayerSO.Evaluate(in UnityProceduralContext, float, ref PoseDelta, ref MaterialDelta, ref TransformDelta, ref ActivationDelta)

    OnLayerActivated()

    Optional initialization called when the layer becomes active. Override to set up any required runtime state.

    Declaration
    public override void OnLayerActivated()
    Overrides
    ProceduralLayerSO.OnLayerActivated()

    Implements

    IProceduralLayer<TContext>
    IFoundationSettings
    In this article
    © 2026 Serenity. All Rights Reserved