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
uState is a barebones Finite State Machine (FSM) plugin that introduces two lightweight, powerful nodes for managing stateful logic in your projects.Ideal for those looking for a minimal and flexible approach to FSM implementation, uState provides the fundamental tools needed to build and manage behavioral states through visual node-based logic.
π§ uState
uState is a barebones Finite State Machine (FSM) plugin that introduces two lightweight, powerful nodes for managing stateful logic in your projects.
Ideal for those looking for a minimal and flexible approach to FSM implementation, uState provides the fundamental tools needed to build and manage behavioral states through visual node-based logic.
βοΈ Nodes Overview
π§© uState
The uState node represents a single, reusable state template. It's the foundational block used by the uMachine node to define specific behaviors.
- Encapsulates logic that executes when the state is active.
- Can be customized to represent unique behaviors or actions in your state machine.
π§ uMachine
The uMachine node is the state machine controller. It handles the transition between different uState nodes based on your logic.
β οΈ Important: A
uMachinemust include at least oneuStatenode to function properly.
- Manages state transitions.
- Coordinates which
uStateis currently active. - Can evaluate conditions or triggers to switch states.
π Getting Started
- Install the plugin into your project.
- Install the plugin from the Asset Library or by downloading the
.zipfrom the repository. - Add a
uMachinenode anduStatenodes as children. - Create scripts that extend
uStateand drag them onto youruStatenodes. (I recomend making a different base_state.gd for different enities. Example included in the plugin) - To transition to a new
uState, in your script (eg. IdleState.gd) use the built in methodtransition_to(new_state: StringName). (Note that the value passed will automatically be converted to all lowecase.)
π Features
- π§Ό Minimal, clean FSM design
- π§± Modular
uStatetemplates for reusability - π Controlled state transitions via
uMachine - π οΈ Easy integration with node-based environments
π License
This project is open-source and available under the MIT License.
π Contributions
Feel free to fork, submit pull requests, or suggest features and improvements!
Happy statemachining! π
uState is a barebones Finite State Machine (FSM) plugin that introduces two lightweight, powerful nodes for managing stateful logic in your projects.
Ideal for those looking for a minimal and flexible approach to FSM implementation, uState provides the fundamental tools needed to build and manage behavioral states through visual node-based logic.
Reviews
Quick Information
uState is a barebones Finite State Machine (FSM) plugin that introduces two lightweight, powerful nodes for managing stateful logic in your projects.Ideal for those looking for a minimal and flexible approach to FSM implementation, uState provides the fundamental tools needed to build and manage behavioral states through visual node-based logic.