Skip to content
Back to wiki

Anim Layer Extension

Created: Apr 21, 2025Updated: Oct 28, 2026

Anim Layer Extension

As I said before, the content of the main animation blueprint is just some placeholders, while the actual animation logic is implemented by the animation blueprints inherited from the GMS Anim Layer, which implement different animation layer interfaces (e.g. ALI GMS Locomotion, ALI GMS View, etc.) and are automatically linked to the main animation blueprint when the game is running.

These animation blueprints inherited from the GMS Anim Layer are called ‘Anim Layer Implementations/Instances’ or simply ‘Anim Layers’, and each anim layer consumes the corresponding ‘Anim Layer Setting’.

The following image shows the provided anim layers, which can be used directly or as a reference when creating your own anim layers.

These anim layers basically implement the following anim layer interfaces:

Create new anim layer implementation

You can completely create a new states module like "AnimLayerSetting_States_Swimming->Swimming implementation",or "GMS_AnimLayerSetting_YourOverlay->Your overlay implementation". Then, all you need to do is switch to this movement set based on locomotion mode changes.

This allows you to directly replace different locomotion implementations by applying different movement definitions when you enter different locomotion modes.

note

There's also a temp tutorial of how to swap default states(locomotion) layer in GMS1.1:
https://drive.google.com/file/d/1SS-Sjeo4-KkBKPXk8KdNdbpeBSmHZMFJ/view?usp=sharing

Custom Anim Layer for overlay

Take creating a new Overlay anim layer as an example. The extension method of other types of anim layers is very similar.

You can refer to these two files to understand how custom overlay systems are made.

Essentially, it is to create your own custom anim layer settings and animation layer blueprint, and implement "ApplySetting" in the animation blueprint to set the "animation layer data" to the animation blueprint. The animation blueprint only needs to care about how to use this data.

The anim layer should implement "ALI_GMS_Overlay" layer interface.

A custom setting class can be selected in the corresponding animation layer field of a Movement Set. To link it to an animation layer, also configure the relationship between the classes:

  1. Create a setting of the appropriate type and an Animation Blueprint derived from GMS_AnimLayer. Implement the required layer interface and ApplySetting.
  2. In the AnimGraphSetting used by the character's movement system component, map the setting's concrete class to the animation layer Blueprint class. Alternatively, the setting class can provide an animation layer class through GetOverrideAnimLayerClass.
  3. Select and configure the setting in the Movement Set. Switch to that set at runtime and check that the layer links and receives its settings.

If the layer does not appear, check the character's AnimGraphSetting, the concrete setting class, and the mapping value. Check LogGMS_Animation in the Output Log as well; GMS reports an error when it cannot find a valid mapping. See Anim Graph Setting.