Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/carreraSilvio/BrightStateMachine
Unity FSM to control flow, menus, game objects and behaviours.
https://github.com/carreraSilvio/BrightStateMachine
finite-state-machine fsm pushdown-automata unity
Last synced: 3 days ago
JSON representation
Unity FSM to control flow, menus, game objects and behaviours.
- Host: GitHub
- URL: https://github.com/carreraSilvio/BrightStateMachine
- Owner: carreraSilvio
- License: mit
- Created: 2020-04-29T18:08:42.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-05-12T17:39:19.000Z (6 months ago)
- Last Synced: 2024-08-03T05:16:42.824Z (3 months ago)
- Topics: finite-state-machine, fsm, pushdown-automata, unity
- Language: C#
- Homepage:
- Size: 185 KB
- Stars: 8
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Bright FSMs
## FSM
### Features
* States: Have separate states to ease single responsability
* Transitions: Change from one state to the other
* OnEnter/OnExit: Run logic when entering and exiting a state
* Composite States:
* States that can act as parents to other states
* Share their transitions with it's children states
* Allows nesting of multiple levels## Pushdown FSM
### Features
* All previous features plus the one bellow
* History: Push states on top of another allowing you to go back to previous state## LayeredFSM (tbd)
### Features
* Layers: Each layer consists of an independent FSM
* Parallelism: FSMs will run in parallel
* Broadcasting: FSMs can fire events that are broadcasted inside the LayeredFSM.## Prerequisites
Unity 2018.3 and up## Install
### Unity 2019.3
1. Open the package manager and point to the repo URL![Imgur](https://i.imgur.com/iYGgINz.png)
### Before Unity 2019.3
#### Option A
1. Open the manifest
2. Add the repo URL either via https or ssh#### Option B
1. Clone or download the project zip
2. Copy the repo there inside your project's Assets folder