Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.


Inherits: Resource < RefCounted < Object

A resource that holds a stack of SkeletonModification2Ds.


This resource is used by the Skeleton and holds a stack of SkeletonModification2Ds.

This controls the order of the modifications and how they are applied. Modification order is especially important for full-body IK setups, as you need to execute the modifications in the correct order to get the desired results. For example, you want to execute a modification on the spine before the arms on a humanoid skeleton.

This resource also controls how strongly all of the modifications are applied to the Skeleton2D.













add_modification ( SkeletonModification2D modification )


delete_modification ( int mod_idx )


enable_all_modifications ( bool enabled )


execute ( float delta, int execution_mode )


get_is_setup ( ) const


get_modification ( int mod_idx ) const


get_skeleton ( ) const


set_modification ( int mod_idx, SkeletonModification2D modification )


setup ( )

Property Descriptions

bool enabled = false

  • void set_enabled ( bool value )

  • bool get_enabled ( )

If true, the modification's in the stack will be called. This is handled automatically through the Skeleton2D node.

int modification_count = 0

  • void set_modification_count ( int value )

  • int get_modification_count ( )

The number of modifications in the stack.

float strength = 1.0

  • void set_strength ( float value )

  • float get_strength ( )

The interpolation strength of the modifications in stack. A value of 0 will make it where the modifications are not applied, a strength of 0.5 will be half applied, and a strength of 1 will allow the modifications to be fully applied and override the Skeleton2D Bone2D poses.

Method Descriptions

void add_modification ( SkeletonModification2D modification )

Adds the passed-in SkeletonModification2D to the stack.

void delete_modification ( int mod_idx )

Deletes the SkeletonModification2D at the index position mod_idx, if it exists.

void enable_all_modifications ( bool enabled )

Enables all SkeletonModification2Ds in the stack.

void execute ( float delta, int execution_mode )

Executes all of the SkeletonModification2Ds in the stack that use the same execution mode as the passed-in execution_mode, starting from index 0 to modification_count.

Note: The order of the modifications can matter depending on the modifications. For example, modifications on a spine should operate before modifications on the arms in order to get proper results.

bool get_is_setup ( ) const

Returns a boolean that indicates whether the modification stack is setup and can execute.

SkeletonModification2D get_modification ( int mod_idx ) const

Returns the SkeletonModification2D at the passed-in index, mod_idx.

Skeleton2D get_skeleton ( ) const

Returns the Skeleton2D node that the SkeletonModificationStack2D is bound to.

void set_modification ( int mod_idx, SkeletonModification2D modification )

Sets the modification at mod_idx to the passed-in modification, modification.

void setup ( )

Sets up the modification stack so it can execute. This function should be called by Skeleton2D and shouldn't be manually called unless you know what you are doing.