- Fixed ValueEquals for EquatableAtomVariable and EquatableAtomReference, which before the change caused a bug in AtomCollection. [@AdamRamberg](https://github.com/AdamRamberg)
- [#224](https://github.com/AdamRamberg/unity-atoms/issues/224) Move Atoms Search back to its own sub menu. Having same sub path for both MenuItem and CreateAssetMenu is causing the menu to be removed. [@AdamRamberg](https://github.com/AdamRamberg)
- ([@miikalo](https://github.com/miikalo) has joined as maintainer of Unity Atoms! 🥳
## 🐛 Bug fixes
- [#201](https://github.com/AdamRamberg/unity-atoms/pull/201) UnregisterAll in AtomEvent does not seem to work ([@soraphis](https://github.com/soraphis))
- [#199](https://github.com/AdamRamberg/unity-atoms/pull/199) Null Reference Exceptions when trying to set VoidBaseEventReferenceListener event in code ([@soraphis](https://github.com/soraphis))
- [#216](https://github.com/AdamRamberg/unity-atoms/pull/216) Conditions created do not appear under Atoms Search [@AdamRamberg](https://github.com/AdamRamberg)
- [#219](https://github.com/AdamRamberg/unity-atoms/pull/219) Fixing FSM instancer where \_base always is null [@AdamRamberg](https://github.com/AdamRamberg)
- [#220](https://github.com/AdamRamberg/unity-atoms/pull/220) Trigger initial events for instancers [@AdamRamberg](https://github.com/AdamRamberg)
## 📝 Documentation
- [#190](https://github.com/AdamRamberg/unity-atoms/pull/190) Restructure tutorials and add two new tutorials ([@miikalo](https://github.com/miikalo))
- [#193](https://github.com/AdamRamberg/unity-atoms/pull/193) Adding a little bit of clarity to installation ([@mutmedia](https://github.com/mutmedia)
- [#207](https://github.com/AdamRamberg/unity-atoms/pull/207) Add FAQ to documentation pages ([@miikalo](https://github.com/miikalo))
- [#206](https://github.com/AdamRamberg/unity-atoms/pull/206) Add tutorial for Conditions ([@miikalo](https://github.com/miikalo))
## 💅 Polish
- [#217](https://github.com/AdamRamberg/unity-atoms/pull/217) Move "Atoms Search" under "Unity Atoms" in the "Create" context menu [@AdamRamberg](https://github.com/AdamRamberg))
## 🚀 New features
- [#186](https://github.com/AdamRamberg/unity-atoms/pull/186) Searchable menu for faster atom creation ([@soraphis](https://github.com/soraphis))
- [#182](https://github.com/AdamRamberg/unity-atoms/pull/182) Add workaround for "Enter Play Mode" feature to enable initial values ([@hazarartuner](https://github.com/hazarartuner))
- [#187](https://github.com/AdamRamberg/unity-atoms/pull/187) Asset based atoms generation ([@soraphis](https://github.com/soraphis))
- [#191](https://github.com/AdamRamberg/unity-atoms/pull/191) Basic implementation of conditions for listeners ([@miikalo](https://github.com/miikalo))
- [#202](https://github.com/AdamRamberg/unity-atoms/pull/202) Added for AtomReference a check to see if an Atom is actually assigned ([@soraphis](https://github.com/soraphis))
- [#212](https://github.com/AdamRamberg/unity-atoms/pull/212) Unity Atoms Input System Integration ([@Casey-Hofland](https://github.com/Casey-Hofland))
- [#221](https://github.com/AdamRamberg/unity-atoms/pull/221) Add OnCollisionHook and OnCollision2DHook ([@Casey-Hofland](https://github.com/Casey-Hofland))
- [#178](https://github.com/AdamRamberg/unity-atoms/pull/178) Fix Sub FSM Value issue ([@TriangularCube](https://github.com/TriangularCube))
## 🚀 New features
- [#172](https://github.com/AdamRamberg/unity-atoms/pull/172) Instancer improvements. Adds the possibility to raise events from Event Instancers from the editor + makes base events none mandatory for Event Instancers. ([@mutmedia](https://github.com/mutmedia))
- [#179](https://github.com/AdamRamberg/unity-atoms/pull/179) Add a default Event at runtime for Changed and ChangedWithHistory if not present. ([@mutmedia](https://github.com/mutmedia) and [@AdamRamberg](https://github.com/AdamRamberg))
- [#180](https://github.com/AdamRamberg/unity-atoms/pull/180) Added option to clear Value List on OnEnable ([@mutmedia](https://github.com/mutmedia) and [@AdamRamberg](https://github.com/AdamRamberg))
## 🏠 Internal
[#169](https://github.com/AdamRamberg/unity-atoms/pull/169) Improvements to the internal templating engine used by the generator. ([@jmacgill](https://github.com/jmacgill))
- [#145](https://github.com/AdamRamberg/unity-atoms/pull/145) Removed duplicate check before adding an item to the list ([@mnarimani](https://github.com/mnarimani))
- [#155](https://github.com/AdamRamberg/unity-atoms/pull/155) Fixing drawer for generated reference of complex struct type ([@bguyl](https://github.com/bguyl)
- Fix bug where usage popup sometimes were hidden. ([@AdamRamberg](https://github.com/AdamRamberg))
- [#160](https://github.com/AdamRamberg/unity-atoms/issues/160) Hook up OnFixedUpdate handler. ([@AdamRamberg](https://github.com/AdamRamberg))
- [#140](https://github.com/AdamRamberg/unity-atoms/pull/140) Changes in GetEvent implementation to allow inheritance ([@soraphis](https://github.com/soraphis))
- [#125](https://github.com/AdamRamberg/unity-atoms/issues/125) Add booleans to decide if Changed and/or ChangedWithHistory Events are triggered on AtomVariable OnEnable ([@iruizmar](https://github.com/iruizmar))
- [#157](https://github.com/AdamRamberg/unity-atoms/pull/157) Added forceEvent parameter for SetValue function on AtomVariable ([@AdamRamberg](https://github.com/AdamRamberg))
- [#159](https://github.com/AdamRamberg/unity-atoms/pull/159) Debug events by displaying stack traces for events. ([@AdamRamberg](https://github.com/AdamRamberg))
- [#123](https://github.com/AdamRamberg/unity-atoms/pull/123) Add Event Refs for Collections and Lists. ([@AdamRamberg](https://github.com/AdamRamberg))
- New package - Base Atoms. This is a mandatory package to use together with Core. However, breaking out the implementations from the Core makes the library easier to maintain. ([@AdamRamberg](https://github.com/AdamRamberg))
- [beb7405](https://github.com/AdamRamberg/unity-atoms/commit/beb740503c1cad86a200def6bf40897149b26340) - Updated Example project to 2019.3.1f1. ([@AdamRamberg](https://github.com/AdamRamberg))
## 🚀 New features
- [#93](https://github.com/AdamRamberg/unity-atoms/pull/93) - Added pre change transformers to Variables + Clamp Int / Float. Pre Change Transformers makes it possible to add functions to Variables that gets executed when a Variable is about to get changed and that transforms the value in some way, eg. clamps an IntVariable between two values. ([@AdamRamberg](https://github.com/AdamRamberg))
- [#110](https://github.com/AdamRamberg/unity-atoms/pull/110) - Added Variable Instancer, Event Reference, Atom Collection and Atom List (old Atom List renamed to Atom Value List). See docs. future blog post and PR for more information regarding these features. ([@AdamRamberg](https://github.com/AdamRamberg))
- [#113](https://github.com/AdamRamberg/unity-atoms/pull/113) - Added constructor with value to Reference classes. ([@AdamRamberg](https://github.com/AdamRamberg))
- [#114](https://github.com/AdamRamberg/unity-atoms/pull/114) - Added Replay functionality to Atom Events. ([@AdamRamberg](https://github.com/AdamRamberg))
- [#115](https://github.com/AdamRamberg/unity-atoms/pull/115) - Add util actions to Variables. ([@AdamRamberg](https://github.com/AdamRamberg))
# 2.2.0 (February 23, 2020)
## 🐛 Bug fixes
- [#106](https://github.com/AdamRamberg/unity-atoms/pull/111) - Reactivate Generator function in Unity 2018.4. ([@fakegood](https://github.com/fakegood), [@AdamRamberg](https://github.com/AdamRamberg))
- [#109](https://github.com/AdamRamberg/unity-atoms/pull/108) - IsUnityAtomsRepo should never be settable. ([@AdamRamberg](https://github.com/AdamRamberg))
- [#109](https://github.com/AdamRamberg/unity-atoms/pull/109) - Fix indentation bug in variable drawer. ([@AdamRamberg](https://github.com/AdamRamberg))
- [#111](https://github.com/AdamRamberg/unity-atoms/pull/111) - Variables are now equal by reference instead of being equal by value. Should maybe been part of a major release because it is technically an API breaking changes, but considered a bug so instead bumping minior. ([@AdamRamberg](https://github.com/AdamRamberg))
- [#102](https://github.com/AdamRamberg/unity-atoms/pull/102) Fix Remove Tag from AtomTags and Fix Remove Tag Test . ([@lucasrferreira](https://github.com/lucasrferreira))
## 📝 Documentation
- [#100](https://github.com/AdamRamberg/unity-atoms/pull/100) Added installation options and badges for OpenUPM. ([@favoyang](https://github.com/favoyang), [@AdamRamberg](https://github.com/AdamRamberg))
- [#78](https://github.com/AdamRamberg/unity-atoms/pull/78) Setter to AtomReference's Value was added. ([@Saso222](https://github.com/Saso222), [@soraphis](https://github.com/soraphis))
- [#70](https://github.com/AdamRamberg/unity-atoms/pull/70) Better user guidance for working with AtomVariables. ([@soraphis](https://github.com/soraphis), [@AdamRamberg](https://github.com/AdamRamberg))
- [#89](https://github.com/AdamRamberg/unity-atoms/pull/89) Variable and Constant Drawers show a preview value. ([@soraphis](https://github.com/soraphis), [@AdamRamberg](https://github.com/AdamRamberg))
- Unity Atoms is now using UPM (Unity Package Manager) - see the README on the new and improved way to use and depend on Unity Atoms
- Conditional Functions - Check a condition before executing an action.
- Molecules - Larger constructs / sets of atoms and other ScriptableObjects. First Molecule added is the Timer.
- Moved editor scripts to separate folder
- Rearranged the structure of Unity Atoms. Scripts are now on the highest level separated on type (int, float, etc.) instead of on concept (Game Event, Variables, etc.). This seems like a more natural way of structuring the project and makes it easier for developers to include / exclude the relevant stuff for their project.
- New type called TouchUserInput that keeps track of a user’s touch input. There is also a possibility to detect tap / double tap.
- Added new MonoHooks, for example OnPointerDownHook, OnButtonClickHook, OnTriggerStay and OnTriggerEnter.
- Added SetStringVariableValue
- Added type Collider
- Added UIContainer
- AtomicTags - Use tags the Unity Atoms way.
# 1.0.0 Beta (December 12, 2018)
- Conditional Functions -> Check a condition before executing an action.
- Molecules - Larger constructs / sets of atoms and other ScriptableObjects. First Molecule added is the Timer.
- Moved editor scripts to separate folder
- Rearranged the structure of Unity Atoms. Scripts are now on the highest level separated on type (int, float, etc.) instead of on concept (Game Event, Variables, etc.). This seems like a more natural way of structuring the project and makes it easier for developers to include / exclude the relevant stuff for their project.
- New type called TouchUserInput that keeps track of a user’s touch input. There is also a possibility to detect tap / double tap.
- Added new MonoHooks. For example OnPointerDownHook, OnButtonClickHook, OnTriggerStay and OnTriggerEnter.
- New types added.
- Added SetStringVariableValue.
# 0.1.2 (November 30, 2018)
- fileName and order of CreateAssetMenu for better usability - 181426f
# 0.1.1 (November 16, 2018)
- Converted ColorVariable, Vector2Variable and Vector3Variable to ScriptableObjectVariable from EquatableScriptableObjectVariable. Before fix older versions of Unity complaint about issues with boxing conversion.