Anim Layer Extension

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.
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.

Custom animation layer configurations will automatically appear in the movement set of movement definition.
