Releases: StephanHooft/unity-tools
Releases · StephanHooft/unity-tools
Release v8.0.0
This release makes changes to the StateMachines framework, which break compatibility. Projects will need to be modified if using this version or beyond.
- IState, IStateMachine, State, and StateMachine have all been discontinued. Their reliance on state registers to transition to another state was messy, and gave states the explicit capability to interact with one another. This is undesirable.
- IStateT, IStateMachineT, StateT and StateMachineT have been modified. They no longer use a state register, and a state's update methods must now return a clean . This allows enum-based states to operate independently, with their state machine being the only one able to locate the next state to transition to.
- As a result, StateT and IStateT may no longer return null. If a state update should not cause a state transition, return the enum's default value instead. It is recommended to have the enum's 0 value remain unused (don't associate an IStateT with it) and return this where you would previously return null.
Release v7.7.0
Introduced "Variables" namespace, with a series of classes to track variables by reference to a ScriptableObject. This is useful to decouple data and retain flexibility. Classes are based on code shown in Ryan Hipple's Unite Austin 2017 presentation on Game Architecture with ScriptableObjects.
Variables, ScriptableObjects to store a field value
- BoolVariable
- ColorVariable
- DoubleVariable
- FloatVariable
- IntVariable
- StringVariable
- Vector2Variable
- Vector3Variable
References, classes to store a local value or a reference to a Variable
- BoolReference
- ColorReference
- DoubleReference
- FloatReference
- IntReference
- StringReference
- Vector2Reference
- Vector3Reference
(All references have matching custom PropertyDrawers for use in Editor.)
Note: The "StephanHooft.VariableRanges" namespace was removed. Replacing with "StephanHooft.Variables.Ranges" should fix any issues.
Release v7.5.0
Added scale extension methods for Vector2/Vector3
Release v7.4.0
VariableRanges update * Added "*" and "/" operators to variable range structs * Fixed accessibility of FloatRange fields
Release v7.2.1
StateMachines no longer hide as many exceptions
Release v7.1.0
* New double extension methods * New float extension methods * New int extension methods
Release v7.0.0
- Upgraded package to C#8.0 - Unity 2021.3 now required
- Default implementations for the Enter/Update/Exit methods of states
- Some structs are now readonly
- Reorganised folders
- MultiKeyDictionary/SortKeyDictionary now share one "Collections" namespace
Release v6.1.0
* Further modifications to StateMachines * Added UnderOverOn methods to VariableRanges
Release v6.0.0
* Modified StateMachines (again), so that a state's "Enter" method can process a deltaTime argument * Updated README.md
Release v5.0.0
* Introduced FloatRange, IntRange, and DoubleRange structs * Introduced a range attributes for the above range-type structs * Removed MinMaxAttribute * Renamed some extension methods