Easy State
It is easy to incorporate complex logic into your game when you are well organized. Easy State provides many ways to keep track of complex logic from a UI that is designed for humans, to the ability to add notes that explain your thought processes. Version 3 of Easy State builds on the good things of the previous versions and adds many quality-of-life changes as well as implementation of many user-requested features. In order to provide the highest degree of flexibility, Easy state allows you to combine the principals of state machines, behavior trees, and utility nodes into a single design. Easy state allows the programmer to write the mission critical code, while providing a backbone that makes it easy to scale and deploy. While some visual scripting tools attempt to replace the need for coding this tool is a framework that keeps your code compact, organized, and easy to debug. As a warning this code does require some C# experience to be used and is not meant as a No-Code solution. Its goal is to be lean and only manage the repetitive code allowing the game dev to write the important stuff!
Have any questions? Email me @ pigeonstudios.dev@gmail.com
Check out the docs: Documentation.md (thepigeonfighter.github.io)
Release Notes
Version 3.1.6
- Added stability to StateMachine.cs to make execution cycle more predictable.
- Added execution cycle diagram to illustrate how the state machine update cycle works.
- Fixed jumper node bug
- Improved file sync scanning.
- Improved file writes in editor.
- Added more caching on build after assemblies loaded
- Updated documentation
Version 3.1.5(May 25, 2022)
- Removed some Editor depedent code in ChangeHandler.cs from build.
- Moved a [RuntimeInitialize] method into non generic base class to fix build error.
Version 3.1.4(May 18, 2022)
- Fixed custom icon bug, now icons work in new Unity versions and older ones.
- Added ability to change custom script icons
- Fixed bug where data type asset instance was not being created when data type was created.
- Updated the Script Generator to use user defined root folder.
- Added the ability to have enum Parameterized Actions
- Updated documentation
Version 3.1.3(May 6, 2022)
- Fixed null ref when fall back connection details panel open and design clicked
- Fixed grouped connections couldn't be clicked inside a group.
- Added auto position checkbox to Connection Details Panel
- Circular references on jumper nodes are now supported
- Non existent Jumper node destination throws error now on design load.
- Duplicated designs regenerate state ids to avoid id clashes
Version 3.1.2(April 29, 2022)
- Jumper Node now can have a summary
- Jumper/Basic nodes summary input were not synced with text
- Warning message is now displayed when a data type cant be found before deleting it from Easy State's file system.
- Parent's behaviors are now accessible in the behavior dropdown on state machine components.
- Added the ability to create a design that is based on a different design.
- Updated Documentation
Version 3.1.1(Feb 15, 2022)
- Added support for panning with middle mouse button
- Added static cache resets not dependent on domain reloads
- Add always true condition to new connections by default. This behavior can be overridden on the settings object. EasyStateSettings.ConnectionSettings.DefaultToAlwaysTrueCondition
- Fixed duplication bug that was not updating StateMachineComponentIDs
- Keyboard shortcut events are now captured by the Designer Window instead of bubbling out into the editor.
- Fixed bug where if the current state was deleted, doing a hot reload would cause the state machine to crash.
- Added the ability to add summaries to individual nodes
- Added ability to debug instantiated state machines while in play mode.
- Added support for parameterized actions. Now supports actions with an additional int, float, string, or boolean parameter which can be set in the designer.
- Fixed bug where under certain circumstances an entry node could be deleted.
- Small script optimizations
- Removed the ability to create easy state components from root easy state asset menu.
- Added an additional state machine to the ''Assorted Examples'" sample
- Updated documentation