Skip to content

New extension: Spine 4.3 Runtime Support! #2134

@mousekkkss

Description

@mousekkkss

Description

This extension brings the official Spine 4.3 runtime (spine-pixi-v7@4.3.x) to GDevelop. It allows users to load, render, and fully control Spine 4.3 animations natively within GDevelop without requiring any modifications to the core engine (GDevelop-master).

Key Features:

  • Full Spine 4.3 Support: Powered by spine-pixi-v7 on top of Pixi.js v7.
  • Rich API (53 Nodes): Includes a comprehensive set of Actions, Conditions, and Expressions covering:
    • Animation playback (play, queue, clear, frame/progress tracking)
    • Bone manipulation (position, rotation, scale, setup pose resets)
    • Slot customization (color, opacity, attachments)
    • Constraints (IK and transform constraint weights)
    • Custom event handling and playback state tracking
  • Non-intrusive Architecture: Designed purely as an external plugin mounting onto the engine.

I strongly recommend that the official team adopt this plugin. I created this plugin because the official team has been slow to upgrade the Spine version supported by gdevelop.

How to use the extension

  1. Setup & Import: Install the extension into your GDevelop project. Ensure your Spine 4.3 exported assets (.json, .atlas, .png) are placed in your project's root directory using relative paths.
  2. Initialization: Use the provided initialization actions to load the Spine assets and mount the skeleton into the scene.
  3. Animation Control: Trigger the extension's actions to play or queue animations dynamically.
  4. Advanced Manipulation: Utilize the provided bone and slot actions to adjust the character during gameplay (e.g., change slot colors, manipulate bone rotations, adjust IK weights, or trigger logic based on Spine custom events).

Checklist

  • I've followed all of the best practices.
  • I confirm that this extension can be integrated to this GitHub repository, distributed and MIT licensed.
  • I am aware that the extension may be updated by anyone, and do not need my explicit consent to do so.

AI usage

  • I used an AI to generate some part of the code.
  • I don't understand the generated code or I don't feel able to modify it.

Example file

Plugin Demo.zip

Extension file

Spine43SpriteShell_zh.json

Spine43SpriteShell_en.json

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions