Overview
The Sequence Stack Overlay System dynamically blends different animation sequences with base locomotion under various conditions (driven by GameplayTags), using blend masks or BranchFilters to control blend weights.
Parallel Sequence Stack
To use the Parallel Sequence Stack, select ParallelSequenceStack in the Anim Layer Setting (Overlay) field of the Movement Set settings.

Its basic configuration structure is as follows:

In this section, you can configure multiple Overlay Mode Settings. Each overlay mode setting allows you to configure:
- Mode Identifier: Use GMS.OverlayMode.XXX tags to uniquely identify this overlay mode setting.
- Parallel Sequence Stacks: Up to 10 stacks can be added. Priority is determined by the array index (higher index = higher priority).
Single Stack Configuration
Each stack can represent a body part and supports the following configuration:
- TargetAnimNodes: Determines which animation sequences will play when the corresponding animation nodes' tags are active. This acts as a switch—only when the animation blueprint reaches the specified animation state node will the animations configured in this stack be considered.
- Potential Animation List (Overlays): The list of potential animations to play for this body part.

Potential Animation List
Overlays is an array where each entry primarily controls:

- TagQuery: A query against the tags owned by the movement system component. This animation sequence will be considered when the tags match this query.
- PlayMode: Controls the playback mode of the sequence, which can be SequencePlayer (looping animation) or SequenceEvaluator (single-frame playback of the sequence).
- BlendWeight: The blend weight and blend-in time for the animation.
- BlendMode: The blend mode, which can be a BlendMask name existing on the skeleton or BranchFilters. Refer to LayeredBlendPerBone for details.
Examples
This is an example of the parallel sequence stack overlay system, taken from the SequenceStack_Demo_P layering setup in the companion project.
Common Usage:
The diagram below uses MovementSet.Unarmed (Lyra's Unarmed Locomotion) as the base and blends in sword/shield animations from Paragon's Greystone.

The first stack plays sword/shield locomotion animations on the character's upper body when not in idle state.

The second stack plays an Injured animation on the character's left arm when in Injured state.

When the layering is set to OverlayMode.Sword, the result is as follows:
Dynamic Selection Usage:
In Example 2, both TargetAnimNodes and TagQuery are utilized.
The configuration below blends different animations on different body parts when conditions are met on the ground:

The first stack plays a Dance animation on the character's upper body by default (no conditions).

The second stack plays an Injured animation on the character's left arm when in Injured state.

The third stack plays a bound-hands animation on the character's upper body when in HandTied state.

Two triggers are set up in the level to add a 10-second Injured state and a 5-second HandTied state to the character, respectively.

When the layering is set to OverlayMode.Demo, the result is as follows:
You can see that if both Injured and HandTied states are active simultaneously, the HandTied animation takes priority (as it has the highest priority in the Stacks). When the HandTied state expires, it falls back to the Injured state. When the Injured state expires, it returns to the upper-body dance animation.
Video Reference
Some parameter names in the video tutorial are outdated, but you can still follow the workflow.
Video
Sequence Stack
The Sequence Stack is a simplified version of the Parallel Sequence Stack, offering better performance but not supporting simultaneous playback of different sequences on multiple body parts.
I found the Parallel Sequence Stack to be overly complex, so I developed this version.
To use the Sequence Stack, select SequenceStack in the Overlay Anim Layer section of the Movement Set settings.

In this section, you can configure multiple Overlay Mode Settings. Each overlay mode setting allows you to configure:
- Mode Identifier: Use GMS.OverlayMode.XXX tags to uniquely identify this overlay mode setting.
- Sequence List: The list of potential dynamic sequence settings (SequenceStackEntry). Selection priority follows the array index order, with later entries having lower priority.
Each dynamic sequence setting contains the following:

The most important settings are:
- RelevanceQuery: The active animation node matching this query will be selected.
- TagQuery: The character's tags matching this query will be selected.
