Install Asset
Install via Godot
To maintain one source of truth, Godot Asset Library is just a mirror of the old asset library so you can download directly on Godot via the integrated asset library browser
Quick Information
A powerful Hierarchical Finite State Machine plugin.## Features1. Prefect visual editor.2. Visualized debugger.3. High performance, building base on GDExtension.4. Supports hierarchical nesting and can be used in complex situations.5. Diversified transition plans.6. Two development modes: signal callbacks and attached state scripts.7. Has ability of working with animations( Can be an Animation State Machine).8. Attach GDScript/CSharpScript to implement State Logic.9. Attach GDScript/CSharpScript to implement Transition Logic (full version only).
HFSM2 - Alpha - Godot 4.2 stable
A enhance version of HFSM.
This repository is built binary plugin, and under MIT license. There have not plan to public source code currently.
Features
- Prefect visual editor.
- Visualized debugger.
- High perforamce, building base on GDExtension.
- Supports hierarchical nesting and can be used in complex situations.
- Diversified transition plans.
- Two development modes: signal callbacks and attached state scripts.
- Has ability of working with animaions( Can be an Animation State Mechine).
- Attch GDScript/CSharpScript to implement State Logic.
- Attch GDScript/CSharpScript to implement Transition Logic (full version only).
Some usage hints
I have not time to write a prefect document and create some demos, I can only remain some hints here.
This plugin's basic concept is like the 3.x version, you can refer its document. But be careful, the has many naming different between these two plugins, and this 4.1 version have removed some over desined, such as "agent", and so on.
To start edit a
HFSMnode, your should create aFSMConfigresource and set toHFSM's propertyroot_fsm_config.If you have some confuse when using this plugin, you may get answers/tips at the botton left of the "HFSM Editor" panel.
Pressing "Shift" and "Left Button" and drag from a State to another State to create a Transition.
Pressing "Alt" and "Mid Button" and drag and draw a line cross through Transitions to delete them.
Double left clike on a Transition to select and inspect it.
To debug
HFSM, you can go toDebuggerpanel'sHFSMtab, the left side is runningHFSMs node path, double click it to select aHFSMand inspect it.According to the design, you should not access all
xxxConfigclasses, they are only store the HFSM structure/infomation for constructingHFSM.FSMConfig StateConfig TransitionConfig VariableConfig VariableExpressionConfigBut this is not mandatory, if you access them, you should clearify what are you doing.
For C# Users
- You need build project at least onnce to elimitate error in C# scripts in
res://addons/com.daylily_zeleen.hfsm/CSharpWrappers/. - It is recommended not to use with other langurage scripts.
- If you need cross langurages programing, when you access members about
HFSM,State,Variable,Transition, you should use menbers which hasNativesuffix. For example, a HFSM node with GDScript, and States in this HFSM node, it should useGetHFSMNative()instead ofGetHFSM()to access HFSM node in States, and theNodeyou got fromGetHFSMNative()can't be casted toHFSMin C#.
Notices
- Currently is not stable version, please avoid to use this plugin in release purpose, I can't guarantee that it will work properly.
- All apis have possibility to be changed in future.
- Currently, you can't use
GDExtensionManager,ResourceUID,IPsingletonS in expression of Transition. - Welcome to use and give me feedback by opening issues.
A powerful Hierarchical Finite State Machine plugin.
## Features
1. Prefect visual editor.
2. Visualized debugger.
3. High performance, building base on GDExtension.
4. Supports hierarchical nesting and can be used in complex situations.
5. Diversified transition plans.
6. Two development modes: signal callbacks and attached state scripts.
7. Has ability of working with animations( Can be an Animation State Machine).
8. Attach GDScript/CSharpScript to implement State Logic.
9. Attach GDScript/CSharpScript to implement Transition Logic (full version only).
Reviews
Quick Information
A powerful Hierarchical Finite State Machine plugin.## Features1. Prefect visual editor.2. Visualized debugger.3. High performance, building base on GDExtension.4. Supports hierarchical nesting and can be used in complex situations.5. Diversified transition plans.6. Two development modes: signal callbacks and attached state scripts.7. Has ability of working with animations( Can be an Animation State Machine).8. Attach GDScript/CSharpScript to implement State Logic.9. Attach GDScript/CSharpScript to implement Transition Logic (full version only).