diff --git a/.gitignore b/.gitignore
index c1940679..bb79dd83 100644
--- a/.gitignore
+++ b/.gitignore
@@ -51,4 +51,7 @@ node_modules
/docs/**/*.meta
/scripts/**/*.meta
/website/**/*.meta
-/*.meta
\ No newline at end of file
+/*.meta
+
+# Ignore Examples directory if used
+/Examples
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d365e7e7..5512a005 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,17 +6,47 @@
π
= Polish
π = New features
-# 4.4.4 (TODO: UPDATE THE DATE ON MERGE DAY)
+# 4.4.4 (March 15, 2022)
+
+- [@Casey-Hofland](https://github.com/Casey-Hofland) has left Unity Atoms as a maintainer. We wish Casey all the best and thank him for his contributions and help!
+- [@ThimoDEV](https://github.com/ThimoDEV) has joined as maintainer of Unity Atoms! π₯³
+
+## π Bug fixes
+
+- [#340](https://github.com/unity-atoms/unity-atoms/pull/340) Fix NullReferenceException when Event Reference Listeners event reference is not set ([@ThimoDEV](https://github.com/ThimoDEV))
+- [#280](https://github.com/unity-atoms/unity-atoms/pull/289) Fix hasChildren display in AtomReferences ([@Casey-Hofland](https://github.com/Casey-Hofland))
+- [#270](https://github.com/unity-atoms/unity-atoms/pull/270) Fix ChangedOnOnEnable not triggered ([@simonbucher](https://github.com/simonbucher))
+- [#297](https://github.com/unity-atoms/unity-atoms/pull/297) Fix FiniteStateMachine not listening to Raise Event To Complete Transition ([@Kyrw](https://github.com/Kyrw))
+- [#306](https://github.com/unity-atoms/unity-atoms/pull/306) Fix in case no object was tagged FindByTag throwing an exception instead of returning null ([@soraphis](https://github.com/soraphis))
+- [#314](https://github.com/unity-atoms/unity-atoms/pull/314) Fix Drawer trying to create field for public Action ([@ThimoDEV](https://github.com/ThimoDEV))
+- [#309](https://github.com/unity-atoms/unity-atoms/pull/309) Fix the null check on Base events in AtomVariableInstancer not accounting for Base itself and not creating runtime AtomEvents ([@ThimoDEV](https://github.com/ThimoDEV))
+- [#310](https://github.com/unity-atoms/unity-atoms/pull/310) Fix void event instancer stopping working after a deactivate/activate cycle ([@ThimoDEV](https://github.com/ThimoDEV))
+- [#311](https://github.com/unity-atoms/unity-atoms/pull/311) Fix ulong variable throwing error when the value being edited in play mode ([@ThimoDEV](https://github.com/ThimoDEV))
+- [#312](https://github.com/unity-atoms/unity-atoms/pull/312) Remove duplicate definition of GameObjectGameObjectFunction in MonoHooks package ([@ThimoDEV](https://github.com/ThimoDEV))
+- [#313](https://github.com/unity-atoms/unity-atoms/pull/313) Fix default Changed and ChangedWithHistory events not created at runtime ([@ThimoDEV](https://github.com/ThimoDEV))
+- [#278](https://github.com/unity-atoms/unity-atoms/pull/278) Fix conditions not serializing in Unity 2019 ([@miikalo](https://github.com/miikalo))
+- [#300](https://github.com/unity-atoms/unity-atoms/pull/300) Fixed Serialization on AtomCollections. ([@Kyrw](https://github.com/Kyrw))
## π Documentation
+- [#294](https://github.com/unity-atoms/unity-atoms/pull/294) Add missing scoped registry in install docs ([@ahSOLO](https://github.com/ahSOLO))
+- [#280](https://github.com/unity-atoms/unity-atoms/pull/280) Update link in UniRx tutorial ([@miikalo](https://github.com/miikalo))
+- [#267](https://github.com/unity-atoms/unity-atoms/pull/267) Updated documentation and tutorials on the website for v4 ([@miikalo](https://github.com/miikalo))
- A "Smooth Workflow" section has been added under the CONTRIBUTING.md to explain how one can easily start contributing to Atoms whilst working from inside Unity. This was an issue as the atoms repository is not naturally compatible with Unity. ([@Casey-Hofland](https://github.com/Casey-Hofland))
+## π Internal
+
+- [#320](https://github.com/unity-atoms/unity-atoms/pull/320) Change private to protected in 'list' variable in AtomValueList ([@ThimoDEV](https://github.com/ThimoDEV))
## πββ Performance
-- [#276](https://github.com/unity-atoms/unity-atoms/issues/276) This AtomGenerator has been improved to take no longer than about a single reimport. ([@Casey-Hofland](https://github.com/Casey-Hofland))
+- [#329](https://github.com/unity-atoms/unity-atoms/pull/329) Fix unnecessary allocations when debug mode disabled ([@soraphis](https://github.com/soraphis))
+- [#276](https://github.com/unity-atoms/unity-atoms/issues/276) The AtomGenerator has been improved to take no longer than about a single reimport ([@Casey-Hofland](https://github.com/Casey-Hofland))
-# 4.4.3 (Mars 7, 2021)
+## π
Polish
+
+- [#284](https://github.com/unity-atoms/unity-atoms/pull/284) Fixed specifying package dependencies ([@lumpn](https://github.com/lumpn))
+
+# 4.4.3 (March 7, 2021)
## π Bug fixes
@@ -45,7 +75,7 @@
# 4.4.0 (December 30, 2020)
-- ([@miikalo](https://github.com/miikalo) has joined as maintainer of Unity Atoms! π₯³
+- [@miikalo](https://github.com/miikalo) has joined as maintainer of Unity Atoms! π₯³
## π Bug fixes
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 2e8668f8..a59d5d10 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -6,10 +6,7 @@ Thanks for considering contributing to Unity Atoms β€οΈ Read the guidelines be
Unity Atoms is a [monorepo](https://en.wikipedia.org/wiki/Monorepo). Basically that means that there are several packages / projects contained in one repository.
-- Packages - contains all the different packages.
-- Examples - this folder is a Unity project folder that contains examples. This folder is not included in the distribution of Unity Atoms.
-
-The reason for this project structure is that we want to include examples in the repo (needing a Unity project), but there are at the same time currently some restrictions when using the UPM regarding how to import it to your project.
+- Packages - contains all the different packages
### UPM doesn't allow...
diff --git a/Packages/BaseAtoms/Runtime/Collections/AtomCollection.cs b/Packages/BaseAtoms/Runtime/Collections/AtomCollection.cs
index 16864f14..82525382 100644
--- a/Packages/BaseAtoms/Runtime/Collections/AtomCollection.cs
+++ b/Packages/BaseAtoms/Runtime/Collections/AtomCollection.cs
@@ -53,6 +53,11 @@ namespace UnityAtoms.BaseAtoms
void OnDisable()
{
if (Value == null) return;
+
+ //Calling OnAfterDeserialize again here, as Collection may use StringConstant or StringVariable as key, and Unity doesnt ensures execution order in Scriptable Objects
+ // As such is possible that the Collection is called before its keys are ready to be used.
+ // On OnEnable, all atoms are supposed to already have been initialized, and calling OnAfterDeserialize, will fix any issue with not ready keys
+ Value.OnAfterDeserialize();
Value.Added -= PropogateAdded;
Value.Removed -= PropogateRemoved;
diff --git a/Packages/BaseAtoms/package.json b/Packages/BaseAtoms/package.json
index 0c9d220b..84d96bf8 100644
--- a/Packages/BaseAtoms/package.json
+++ b/Packages/BaseAtoms/package.json
@@ -1,7 +1,7 @@
{
"name": "com.unity-atoms.unity-atoms-base-atoms",
"displayName": "Unity Atoms Base Atoms",
- "version": "4.4.3",
+ "version": "4.4.4",
"unity": "2018.3",
"description": "Base set of Atoms based on Unity Atoms Core.",
"keywords": [
@@ -20,6 +20,8 @@
"/Documentation.meta"
],
"dependencies": {
- "com.unity-atoms.unity-atoms-core": "4.4.3"
+ "com.unity.modules.physics": "1.0.0",
+ "com.unity.modules.physics2d": "1.0.0",
+ "com.unity-atoms.unity-atoms-core": "4.4.4"
}
}
diff --git a/Packages/Core/Editor/Drawers/AtomBaseReferenceDrawer.cs b/Packages/Core/Editor/Drawers/AtomBaseReferenceDrawer.cs
index 0a7eb70c..f844a579 100644
--- a/Packages/Core/Editor/Drawers/AtomBaseReferenceDrawer.cs
+++ b/Packages/Core/Editor/Drawers/AtomBaseReferenceDrawer.cs
@@ -67,16 +67,12 @@ namespace UnityAtoms.Editor
var newUsageValue = EditorGUI.Popup(buttonRect, currentUsage.intValue, GetPopupOptions(property), _popupStyle);
currentUsage.intValue = newUsageValue;
-
var usageTypePropertyName = GetUsages(property)[newUsageValue].PropertyName;
var usageTypeProperty = property.FindPropertyRelative(usageTypePropertyName);
-
- var valueFieldHeight = EditorGUI.GetPropertyHeight(property.FindPropertyRelative(usageTypePropertyName), label);
-
- if (usageTypePropertyName == "_value" && valueFieldHeight > EditorGUIUtility.singleLineHeight+2)
+ if (usageTypePropertyName == "_value")
{
- EditorGUI.PropertyField(originalPosition, usageTypeProperty, GUIContent.none, true);
+ EditorGUI.PropertyField(usageTypeProperty.hasChildren ? originalPosition : position, usageTypeProperty, GUIContent.none, true);
}
else
{
diff --git a/Packages/Core/Editor/Editors/Variables/AtomVariableEditor.cs b/Packages/Core/Editor/Editors/Variables/AtomVariableEditor.cs
index 9ec87952..33081176 100644
--- a/Packages/Core/Editor/Editors/Variables/AtomVariableEditor.cs
+++ b/Packages/Core/Editor/Editors/Variables/AtomVariableEditor.cs
@@ -48,6 +48,11 @@ namespace UnityAtoms.Editor
{
atomTarget.BaseValue = (double)(float)value;
}
+ //Ulong is deserialized to System32 Int.
+ else if(typeof(T) == typeof(ulong))
+ {
+ atomTarget.BaseValue = (ulong)(int)value;
+ }
else
{
atomTarget.BaseValue = value;
diff --git a/Packages/Core/Editor/Extensions/SerializedPropertyExtensions.cs b/Packages/Core/Editor/Extensions/SerializedPropertyExtensions.cs
index 1ba500f1..18b1d951 100644
--- a/Packages/Core/Editor/Extensions/SerializedPropertyExtensions.cs
+++ b/Packages/Core/Editor/Extensions/SerializedPropertyExtensions.cs
@@ -24,7 +24,10 @@ namespace UnityAtoms.Editor
{
try
{
- field.SetValue(box, property.FindPropertyRelative(field.Name).GetPropertyValue());
+ if (!field.Attributes.HasFlag(FieldAttributes.NotSerialized))
+ {
+ field.SetValue(box, property.FindPropertyRelative(field.Name).GetPropertyValue());
+ }
}
catch (InvalidOperationException)
{
diff --git a/Packages/Core/Runtime/Conditions/AtomCondition.cs b/Packages/Core/Runtime/Conditions/AtomCondition.cs
index 7ed3affd..789144d7 100644
--- a/Packages/Core/Runtime/Conditions/AtomCondition.cs
+++ b/Packages/Core/Runtime/Conditions/AtomCondition.cs
@@ -4,9 +4,25 @@ using UnityEngine;
namespace UnityAtoms
{
///
- /// Base abstract class for Conditions. Condition must be an AtomFunction<bool, T>.
+ /// Base abstract class for Conditions. Inherits from `BaseAtom`.
///
- public abstract class AtomCondition : AtomFunction
+ public abstract class AtomCondition : BaseAtom
{
+ ///
+ /// Check the condition.
+ ///
+ public virtual bool Call() => false;
+ }
+
+ ///
+ /// Generic abstract base class for Conditions. Inherits from `AtomCondition`.
+ ///
+ public abstract class AtomCondition : AtomCondition
+ {
+ ///
+ /// Evaluate the Condition.
+ ///
+ /// The first parameter.
+ public virtual bool Call(T t) => base.Call();
}
}
diff --git a/Packages/Core/Runtime/EventInstancers/AtomEventInstancer.cs b/Packages/Core/Runtime/EventInstancers/AtomEventInstancer.cs
index a1722db5..ad6ebdae 100644
--- a/Packages/Core/Runtime/EventInstancers/AtomEventInstancer.cs
+++ b/Packages/Core/Runtime/EventInstancers/AtomEventInstancer.cs
@@ -46,7 +46,7 @@ namespace UnityAtoms
{
_inMemoryCopy = ScriptableObject.CreateInstance();
}
- else
+ else if(_inMemoryCopy == null)
{
_inMemoryCopy = Instantiate(_base);
}
diff --git a/Packages/Core/Runtime/EventReferences/AtomEventReference.cs b/Packages/Core/Runtime/EventReferences/AtomEventReference.cs
index 9d4d1126..b065247a 100644
--- a/Packages/Core/Runtime/EventReferences/AtomEventReference.cs
+++ b/Packages/Core/Runtime/EventReferences/AtomEventReference.cs
@@ -27,9 +27,9 @@ namespace UnityAtoms
{
switch (_usage)
{
- case (AtomEventReferenceUsage.VARIABLE): return _variable.GetOrCreateEvent();
- case (AtomEventReferenceUsage.VARIABLE_INSTANCER): return _variableInstancer.GetOrCreateEvent();
- case (AtomEventReferenceUsage.EVENT_INSTANCER): return _eventInstancer.Event;
+ case (AtomEventReferenceUsage.VARIABLE): return _variable == null ? null : _variable.GetOrCreateEvent();
+ case (AtomEventReferenceUsage.VARIABLE_INSTANCER): return _variableInstancer == null ? null : _variableInstancer.GetOrCreateEvent();
+ case (AtomEventReferenceUsage.EVENT_INSTANCER): return _eventInstancer == null ? null : _eventInstancer.Event;
case (AtomEventReferenceUsage.EVENT):
default:
return _event;
diff --git a/Packages/Core/Runtime/Listeners/AtomBaseListener.cs b/Packages/Core/Runtime/Listeners/AtomBaseListener.cs
index df6a4540..a37f2206 100644
--- a/Packages/Core/Runtime/Listeners/AtomBaseListener.cs
+++ b/Packages/Core/Runtime/Listeners/AtomBaseListener.cs
@@ -54,7 +54,7 @@ namespace UnityAtoms
/// The Condition type.
/// A `List<A>` of Conditions.
[SerializeField]
- private List> _conditions = new List>();
+ private List _conditions = new List();
///
/// The logical operator to apply for conditions
@@ -92,7 +92,14 @@ namespace UnityAtoms
if(condition == null) continue;
- shouldRespond = _conditions[i].Call(item);
+ if (condition is AtomCondition conditionWithParam)
+ {
+ shouldRespond = conditionWithParam.Call(item);
+ }
+ else
+ {
+ shouldRespond = condition.Call();
+ }
if(_operator == AtomConditionOperators.And && !shouldRespond) return;
if(_operator == AtomConditionOperators.Or && shouldRespond) break;
diff --git a/Packages/Core/Runtime/StackTrace/StackTraceEntry.cs b/Packages/Core/Runtime/StackTrace/StackTraceEntry.cs
index 951c45cd..c358e661 100644
--- a/Packages/Core/Runtime/StackTrace/StackTraceEntry.cs
+++ b/Packages/Core/Runtime/StackTrace/StackTraceEntry.cs
@@ -60,9 +60,9 @@ namespace UnityAtoms
}
}
- public static StackTraceEntry Create(object obj, int skipFrames = 0) => new StackTraceEntry(new StackTrace(skipFrames), obj);
+ public static StackTraceEntry Create(object obj, int skipFrames = 0) => AtomPreferences.IsDebugModeEnabled ? new StackTraceEntry(new StackTrace(skipFrames), obj) : null;
- public static StackTraceEntry Create(int skipFrames = 0) => new StackTraceEntry(new StackTrace(skipFrames));
+ public static StackTraceEntry Create(int skipFrames = 0) => AtomPreferences.IsDebugModeEnabled ? new StackTraceEntry(new StackTrace(skipFrames)) : null;
public override bool Equals(object obj) => Equals(obj as StackTraceEntry);
diff --git a/Packages/Core/Runtime/ValueLists/AtomValueList.cs b/Packages/Core/Runtime/ValueLists/AtomValueList.cs
index e6485557..5449cb7e 100644
--- a/Packages/Core/Runtime/ValueLists/AtomValueList.cs
+++ b/Packages/Core/Runtime/ValueLists/AtomValueList.cs
@@ -40,7 +40,7 @@ namespace UnityAtoms
/// The list item type.
/// The actual `List<T>`.
[SerializeField]
- private List list = new List();
+ protected List list = new List();
///
/// Add an item to the list.
diff --git a/Packages/Core/Runtime/VariableInstancers/AtomBaseVariableInstancer.cs b/Packages/Core/Runtime/VariableInstancers/AtomBaseVariableInstancer.cs
index da82da1b..fd38a01e 100644
--- a/Packages/Core/Runtime/VariableInstancers/AtomBaseVariableInstancer.cs
+++ b/Packages/Core/Runtime/VariableInstancers/AtomBaseVariableInstancer.cs
@@ -53,7 +53,7 @@ namespace UnityAtoms
{
_inMemoryCopy = ScriptableObject.CreateInstance();
}
- else
+ else if(_inMemoryCopy == null)
{
_inMemoryCopy = Instantiate(Base);
}
diff --git a/Packages/Core/Runtime/VariableInstancers/AtomVariableInstancer.cs b/Packages/Core/Runtime/VariableInstancers/AtomVariableInstancer.cs
index 08a024b4..cd57fcd6 100644
--- a/Packages/Core/Runtime/VariableInstancers/AtomVariableInstancer.cs
+++ b/Packages/Core/Runtime/VariableInstancers/AtomVariableInstancer.cs
@@ -29,14 +29,22 @@ namespace UnityAtoms
///
protected override void ImplSpecificSetup()
{
- if (Base.Changed != null)
+ if(Base != null)
{
- _inMemoryCopy.Changed = Instantiate(Base.Changed);
- }
+ if (Base.Changed != null)
+ {
+ _inMemoryCopy.Changed = Instantiate(Base.Changed);
+ }
- if (Base.ChangedWithHistory != null)
+ if (Base.ChangedWithHistory != null)
+ {
+ _inMemoryCopy.ChangedWithHistory = Instantiate(Base.ChangedWithHistory);
+ }
+ }
+ else
{
- _inMemoryCopy.ChangedWithHistory = Instantiate(Base.ChangedWithHistory);
+ _inMemoryCopy.Changed = _inMemoryCopy.GetOrCreateEvent();
+ _inMemoryCopy.ChangedWithHistory = _inMemoryCopy.GetOrCreateEvent();
}
// Manually trigger initial events since base class has already instantiated Variable
diff --git a/Packages/Core/Runtime/Variables/AtomVariable.cs b/Packages/Core/Runtime/Variables/AtomVariable.cs
index 80a72168..6a083910 100644
--- a/Packages/Core/Runtime/Variables/AtomVariable.cs
+++ b/Packages/Core/Runtime/Variables/AtomVariable.cs
@@ -52,6 +52,7 @@ namespace UnityAtoms
{
get
{
+ GetOrCreateEvent();
return _changed;
}
set
@@ -71,6 +72,7 @@ namespace UnityAtoms
{
get
{
+ GetOrCreateEvent();
return _changedWithHistory;
}
set
@@ -177,12 +179,18 @@ namespace UnityAtoms
///
public void TriggerInitialEvents()
{
- if (Changed != null && _triggerChangedOnOnEnable)
+ if (_triggerChangedOnOnEnable)
{
+ if (Changed == null)
+ GetOrCreateEvent();
+
Changed.Raise(Value);
}
- if (ChangedWithHistory != null && _triggerChangedWithHistoryOnOnEnable)
+ if (_triggerChangedWithHistoryOnOnEnable)
{
+ if(ChangedWithHistory == null)
+ GetOrCreateEvent();
+
var pair = default(P);
pair.Item1 = _value;
pair.Item2 = _oldValue;
@@ -378,25 +386,25 @@ namespace UnityAtoms
{
if (typeof(E) == typeof(E1))
{
- if (Changed == null)
+ if (_changed == null)
{
- Changed = ScriptableObject.CreateInstance();
- Changed.name = $"{(String.IsNullOrWhiteSpace(name) ? "" : $"{name}_")}ChangedEvent_Runtime_{typeof(E1)}";
+ _changed = ScriptableObject.CreateInstance();
+ _changed.name = $"{(String.IsNullOrWhiteSpace(name) ? "" : $"{name}_")}ChangedEvent_Runtime_{typeof(E1)}";
_changedInstantiatedAtRuntime = true;
}
- return Changed as E;
+ return _changed as E;
}
if (typeof(E) == typeof(E2))
{
- if (ChangedWithHistory == null)
+ if (_changedWithHistory == null)
{
- ChangedWithHistory = ScriptableObject.CreateInstance();
- ChangedWithHistory.name = $"{(String.IsNullOrWhiteSpace(name) ? "" : $"{name}_")}_ChangedWithHistoryEvent_Runtime_{typeof(E2)}";
+ _changedWithHistory = ScriptableObject.CreateInstance();
+ _changedWithHistory.name = $"{(String.IsNullOrWhiteSpace(name) ? "" : $"{name}_")}ChangedWithHistoryEvent_Runtime_{typeof(E2)}";
_changedWithHistoryInstantiatedAtRuntime = true;
}
- return ChangedWithHistory as E;
+ return _changedWithHistory as E;
}
throw new NotSupportedException($"Event type {typeof(E)} not supported! Use {typeof(E1)} or {typeof(E2)}.");
diff --git a/Packages/Core/package.json b/Packages/Core/package.json
index 283d4ab8..b5276d34 100644
--- a/Packages/Core/package.json
+++ b/Packages/Core/package.json
@@ -1,7 +1,7 @@
{
"name": "com.unity-atoms.unity-atoms-core",
"displayName": "Unity Atoms Core",
- "version": "4.4.3",
+ "version": "4.4.4",
"unity": "2018.3",
"description": "Tiny modular pieces utilizing the power of Scriptable Objects",
"keywords": [
@@ -22,5 +22,8 @@
"/Editor/UnityAtoms.UnityAtomsCore.Editor.asmdef.meta",
"/Documentation",
"/Documentation.meta"
- ]
+ ],
+ "dependencies": {
+ "com.unity.modules.uielements": "1.0.0"
+ }
}
diff --git a/Packages/FSM/Runtime/FiniteStateMachine/FiniteStateMachine.cs b/Packages/FSM/Runtime/FiniteStateMachine/FiniteStateMachine.cs
index c731b7c3..bf8ff0e2 100644
--- a/Packages/FSM/Runtime/FiniteStateMachine/FiniteStateMachine.cs
+++ b/Packages/FSM/Runtime/FiniteStateMachine/FiniteStateMachine.cs
@@ -270,6 +270,7 @@ namespace UnityAtoms.FSM
if (transition.TestCondition())
{
_currentTransition = transition;
+ transition.Begin(this, EndCurrentTransition);
if (_transitionStarted != null)
{
_transitionStarted.Raise(
@@ -282,7 +283,6 @@ namespace UnityAtoms.FSM
}
);
}
- transition.Begin(this, EndCurrentTransition);
}
}
else
@@ -431,4 +431,4 @@ namespace UnityAtoms.FSM
return null;
}
}
-}
\ No newline at end of file
+}
diff --git a/Packages/FSM/package.json b/Packages/FSM/package.json
index 17e031cd..fca2de33 100644
--- a/Packages/FSM/package.json
+++ b/Packages/FSM/package.json
@@ -1,7 +1,7 @@
{
"name": "com.unity-atoms.unity-atoms-fsm",
"displayName": "Unity Atoms FSM",
- "version": "4.4.3",
+ "version": "4.4.4",
"unity": "2018.3",
"description": "Simple FSM using Unity Atoms.",
"keywords": [
@@ -20,7 +20,7 @@
"/Documentation.meta"
],
"dependencies": {
- "com.unity-atoms.unity-atoms-core": "4.4.3",
- "com.unity-atoms.unity-atoms-base-atoms": "4.4.3"
+ "com.unity-atoms.unity-atoms-core": "4.4.4",
+ "com.unity-atoms.unity-atoms-base-atoms": "4.4.4"
}
}
diff --git a/Packages/InputSystem/package.json b/Packages/InputSystem/package.json
index a19acc2e..5120c280 100644
--- a/Packages/InputSystem/package.json
+++ b/Packages/InputSystem/package.json
@@ -1,7 +1,7 @@
{
"name": "com.unity-atoms.unity-atoms-input-system",
"displayName": "Unity Atoms Input System",
- "version": "4.4.3",
+ "version": "4.4.4",
"unity": "2018.3",
"description": "Unity Atoms with Unity's Input System.",
"keywords": [
@@ -18,8 +18,8 @@
"/Editor.meta"
],
"dependencies": {
- "com.unity-atoms.unity-atoms-core": "4.4.3",
- "com.unity-atoms.unity-atoms-base-atoms": "4.4.3",
+ "com.unity-atoms.unity-atoms-core": "4.4.4",
+ "com.unity-atoms.unity-atoms-base-atoms": "4.4.4",
"com.unity.inputsystem": "1.0.1"
}
}
diff --git a/Packages/Mobile/package.json b/Packages/Mobile/package.json
index c3d9d21b..1dbccaff 100644
--- a/Packages/Mobile/package.json
+++ b/Packages/Mobile/package.json
@@ -1,7 +1,7 @@
{
"name": "com.unity-atoms.unity-atoms-mobile",
"displayName": "Unity Atoms Mobile",
- "version": "4.4.3",
+ "version": "4.4.4",
"unity": "2018.3",
"description": "Unity Atoms for your mobile project.",
"keywords": [
@@ -20,6 +20,7 @@
"/Documentation.meta"
],
"dependencies": {
- "com.unity-atoms.unity-atoms-core": "4.4.3"
+ "com.unity-atoms.unity-atoms-core": "4.4.4",
+ "com.unity-atoms.unity-atoms-base-atoms": "4.4.4"
}
}
diff --git a/Packages/MonoHooks/Runtime/Functions/GameObjectGameObjectFunction.cs b/Packages/MonoHooks/Runtime/Functions/GameObjectGameObjectFunction.cs
deleted file mode 100644
index 8f813082..00000000
--- a/Packages/MonoHooks/Runtime/Functions/GameObjectGameObjectFunction.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-using UnityEngine;
-
-namespace UnityAtoms.MonoHooks
-{
- public abstract class GameObjectGameObjectFunction : AtomFunction { }
-}
diff --git a/Packages/MonoHooks/Runtime/Functions/GameObjectGameObjectFunction.cs.meta b/Packages/MonoHooks/Runtime/Functions/GameObjectGameObjectFunction.cs.meta
deleted file mode 100644
index ce43ba1b..00000000
--- a/Packages/MonoHooks/Runtime/Functions/GameObjectGameObjectFunction.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: c7a4f1a66cbc848d0950dfece117d27a
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/MonoHooks/package.json b/Packages/MonoHooks/package.json
index 3a44b811..efd8f102 100644
--- a/Packages/MonoHooks/package.json
+++ b/Packages/MonoHooks/package.json
@@ -1,7 +1,7 @@
{
"name": "com.unity-atoms.unity-atoms-mono-hooks",
"displayName": "Unity Atoms Mono Hooks",
- "version": "4.4.3",
+ "version": "4.4.4",
"unity": "2018.3",
"description": "Hook into Unity's lifecycle methods with Atom Events.",
"keywords": [
@@ -20,7 +20,8 @@
"/Documentation.meta"
],
"dependencies": {
- "com.unity-atoms.unity-atoms-core": "4.4.3",
- "com.unity-atoms.unity-atoms-base-atoms": "4.4.3"
+ "com.unity.ugui": "1.0.0",
+ "com.unity-atoms.unity-atoms-core": "4.4.4",
+ "com.unity-atoms.unity-atoms-base-atoms": "4.4.4"
}
}
diff --git a/Packages/SceneMgmt/package.json b/Packages/SceneMgmt/package.json
index f9df2ba5..6414b9cb 100644
--- a/Packages/SceneMgmt/package.json
+++ b/Packages/SceneMgmt/package.json
@@ -1,7 +1,7 @@
{
"name": "com.unity-atoms.unity-atoms-scene-mgmt",
"displayName": "Unity Atoms Scene Mgmt",
- "version": "4.4.3",
+ "version": "4.4.4",
"unity": "2018.3",
"description": "Unity Atoms to manage your scenes.",
"keywords": [
@@ -20,7 +20,7 @@
"/Documentation.meta"
],
"dependencies": {
- "com.unity-atoms.unity-atoms-core": "4.4.3",
- "com.unity-atoms.unity-atoms-base-atoms": "4.4.3"
+ "com.unity-atoms.unity-atoms-core": "4.4.4",
+ "com.unity-atoms.unity-atoms-base-atoms": "4.4.4"
}
}
diff --git a/Packages/Tags/Runtime/AtomTags.cs b/Packages/Tags/Runtime/AtomTags.cs
index 7cb57ef0..ac83c5bc 100644
--- a/Packages/Tags/Runtime/AtomTags.cs
+++ b/Packages/Tags/Runtime/AtomTags.cs
@@ -199,6 +199,7 @@ namespace UnityAtoms.Tags
public static GameObject FindByTag(string tag)
{
if (!TaggedGameObjects.ContainsKey(tag)) return null;
+ if (TaggedGameObjects[tag].Count < 1) return null;
return TaggedGameObjects[tag][0];
}
diff --git a/Packages/Tags/package.json b/Packages/Tags/package.json
index 49a3b1c5..31bd1366 100644
--- a/Packages/Tags/package.json
+++ b/Packages/Tags/package.json
@@ -1,7 +1,7 @@
{
"name": "com.unity-atoms.unity-atoms-tags",
"displayName": "Unity Atoms Tags",
- "version": "4.4.3",
+ "version": "4.4.4",
"unity": "2018.3",
"description": "A replacement to UnityΒ΄s tags based on Unity Atoms.",
"keywords": [
@@ -18,7 +18,7 @@
"/Documentation.meta"
],
"dependencies": {
- "com.unity-atoms.unity-atoms-core": "4.4.3",
- "com.unity-atoms.unity-atoms-base-atoms": "4.4.3"
+ "com.unity-atoms.unity-atoms-core": "4.4.4",
+ "com.unity-atoms.unity-atoms-base-atoms": "4.4.4"
}
}
diff --git a/Packages/UI/package.json b/Packages/UI/package.json
index d7c14917..209786aa 100644
--- a/Packages/UI/package.json
+++ b/Packages/UI/package.json
@@ -1,7 +1,7 @@
{
"name": "com.unity-atoms.unity-atoms-ui",
"displayName": "Unity Atoms UI",
- "version": "4.4.3",
+ "version": "4.4.4",
"unity": "2018.3",
"description": "UI system using Unity Atoms.",
"keywords": [
@@ -18,7 +18,7 @@
"/Documentation.meta"
],
"dependencies": {
- "com.unity-atoms.unity-atoms-core": "4.4.3",
- "com.unity-atoms.unity-atoms-base-atoms": "4.4.3"
+ "com.unity-atoms.unity-atoms-core": "4.4.4",
+ "com.unity-atoms.unity-atoms-base-atoms": "4.4.4"
}
}
diff --git a/README.md b/README.md
index 19dd2593..654c2c39 100644
--- a/README.md
+++ b/README.md
@@ -56,15 +56,15 @@ Add the following to your `manifest.json` (which is located under your project l
],
"dependencies": {
...
- "com.unity-atoms.unity-atoms-core": "4.4.3",
- "com.unity-atoms.unity-atoms-base-atoms": "4.4.3",
- "com.unity-atoms.unity-atoms-fsm": "4.4.3",
- "com.unity-atoms.unity-atoms-mobile": "4.4.3",
- "com.unity-atoms.unity-atoms-mono-hooks": "4.4.3",
- "com.unity-atoms.unity-atoms-tags": "4.4.3",
- "com.unity-atoms.unity-atoms-scene-mgmt": "4.4.3",
- "com.unity-atoms.unity-atoms-ui": "4.4.3",
- "com.unity-atoms.unity-atoms-input-system": "4.4.3",
+ "com.unity-atoms.unity-atoms-core": "4.4.4",
+ "com.unity-atoms.unity-atoms-base-atoms": "4.4.4",
+ "com.unity-atoms.unity-atoms-fsm": "4.4.4",
+ "com.unity-atoms.unity-atoms-mobile": "4.4.4",
+ "com.unity-atoms.unity-atoms-mono-hooks": "4.4.4",
+ "com.unity-atoms.unity-atoms-tags": "4.4.4",
+ "com.unity-atoms.unity-atoms-scene-mgmt": "4.4.4",
+ "com.unity-atoms.unity-atoms-ui": "4.4.4",
+ "com.unity-atoms.unity-atoms-input-system": "4.4.4",
...
}
}
@@ -115,6 +115,6 @@ For questions and support please join our [Discord channel](https://discord.gg/W
- [AdamRamberg](https://github.com/AdamRamberg)
- [soraphis](https://github.com/soraphis)
- [miikalo](https://github.com/miikalo)
-- [Casey-Hofland](https://github.com/Casey-Hofland)
+- [ThimoDEV](https://github.com/ThimoDEV)
We are looking for more people to join the team! Contact us if you want to jump aboard.
diff --git a/docs/api/unityatoms.baseatoms.editor.md b/docs/api/unityatoms.baseatoms.editor.md
index bec9802e..8f896a42 100644
--- a/docs/api/unityatoms.baseatoms.editor.md
+++ b/docs/api/unityatoms.baseatoms.editor.md
@@ -7,339 +7,117 @@ sidebar_label: UnityAtoms.BaseAtoms.Editor
# Namespace - `UnityAtoms.BaseAtoms.Editor`
-## `Collider2DEventInstancerEditor`
+## `AtomCollectionReferenceDrawer`
-Event property drawer of type `Collider2D`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+A custom property drawer for AtomCollectionReference. Makes it possible to choose between a Collection or a Collection Instancer.
---
-## `Vector2EventInstancerEditor`
+## `AtomListDrawer`
-Event property drawer of type `Vector2`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+A custom property drawer for AtomBaseVariableList.
---
-## `VoidEventInstancerEditor`
+## `AtomListReferenceDrawer`
-Event property drawer of type `Void`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+A custom property drawer for AtomListReference. Makes it possible to choose between a List or a List Instancer.
---
-## `Vector3EventInstancerEditor`
+## `SerializableDictionaryDrawer`3`
-Event property drawer of type `Vector3`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+A custom property drawer for SerializableDictionary.
---
-## `BoolEventInstancerEditor`
+## `StringReferenceAtomBaseVariableDictionaryDrawer`
-Event property drawer of type `bool`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+SerializableDictionary property drawer for type . Inherits from `SerializableDictionaryDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `AtomBaseVariableEventInstancerEditor`
+## `BoolConstantDrawer`
-Event property drawer of type `AtomBaseVariable`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+Constant property drawer of type `bool`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `FloatEventInstancerEditor`
+## `Collider2DConstantDrawer`
-Event property drawer of type `float`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+Constant property drawer of type `Collider2D`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `StringEventInstancerEditor`
+## `ColliderConstantDrawer`
-Event property drawer of type `string`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+Constant property drawer of type `Collider`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `GameObjectEventInstancerEditor`
+## `Collision2DConstantDrawer`
-Event property drawer of type `GameObject`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+Constant property drawer of type `Collision2D`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `IntEventInstancerEditor`
+## `CollisionConstantDrawer`
-Event property drawer of type `int`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+Constant property drawer of type `Collision`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `ColliderEventInstancerEditor`
+## `ColorConstantDrawer`
-Event property drawer of type `Collider`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+Constant property drawer of type `Color`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `ColorEventInstancerEditor`
+## `DoubleConstantDrawer`
-Event property drawer of type `Color`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+Constant property drawer of type `double`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `StringVariableEditor`
+## `FloatConstantDrawer`
-Variable Inspector of type `string`. Inherits from `AtomVariableEditor`
+Constant property drawer of type `float`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `IntVariableEditor`
+## `GameObjectConstantDrawer`
-Variable Inspector of type `int`. Inherits from `AtomVariableEditor`
+Constant property drawer of type `GameObject`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `CollisionVariableEditor`
+## `IntConstantDrawer`
-Variable Inspector of type `Collision`. Inherits from `AtomVariableEditor`
+Constant property drawer of type `int`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `GameObjectVariableEditor`
+## `QuaternionConstantDrawer`
-Variable Inspector of type `GameObject`. Inherits from `AtomVariableEditor`
+Constant property drawer of type `Quaternion`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `ColliderVariableEditor`
+## `StringConstantDrawer`
-Variable Inspector of type `Collider`. Inherits from `AtomVariableEditor`
+Constant property drawer of type `string`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `BoolVariableEditor`
+## `Vector2ConstantDrawer`
-Variable Inspector of type `bool`. Inherits from `AtomVariableEditor`
+Constant property drawer of type `Vector2`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `Collision2DVariableEditor`
+## `Vector3ConstantDrawer`
-Variable Inspector of type `Collision2D`. Inherits from `AtomVariableEditor`
-
----
-
-## `Vector2VariableEditor`
-
-Variable Inspector of type `Vector2`. Inherits from `AtomVariableEditor`
-
----
-
-## `Collider2DVariableEditor`
-
-Variable Inspector of type `Collider2D`. Inherits from `AtomVariableEditor`
-
----
-
-## `QuaternionVariableEditor`
-
-Variable Inspector of type `Quaternion`. Inherits from `AtomVariableEditor`
-
----
-
-## `Vector3VariableEditor`
-
-Variable Inspector of type `Vector3`. Inherits from `AtomVariableEditor`
-
----
-
-## `DoubleVariableEditor`
-
-Variable Inspector of type `double`. Inherits from `AtomVariableEditor`
-
----
-
-## `FloatVariableEditor`
-
-Variable Inspector of type `float`. Inherits from `AtomVariableEditor`
-
----
-
-## `ColorVariableEditor`
-
-Variable Inspector of type `Color`. Inherits from `AtomVariableEditor`
-
----
-
-## `QuaternionEventEditor`
-
-Event property drawer of type `Quaternion`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `BoolEventEditor`
-
-Event property drawer of type `bool`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `ColorPairEventEditor`
-
-Event property drawer of type `ColorPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `DoublePairEventEditor`
-
-Event property drawer of type `DoublePair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `ColliderEventEditor`
-
-Event property drawer of type `Collider`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `IntPairEventEditor`
-
-Event property drawer of type `IntPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `ColorEventEditor`
-
-Event property drawer of type `Color`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `Vector2EventEditor`
-
-Event property drawer of type `Vector2`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `IntEventEditor`
-
-Event property drawer of type `int`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `BoolPairEventEditor`
-
-Event property drawer of type `BoolPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `DoubleEventEditor`
-
-Event property drawer of type `double`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `Collider2DEventEditor`
-
-Event property drawer of type `Collider2D`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `FloatPairEventEditor`
-
-Event property drawer of type `FloatPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `Vector2PairEventEditor`
-
-Event property drawer of type `Vector2Pair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `QuaternionPairEventEditor`
-
-Event property drawer of type `QuaternionPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `Collider2DPairEventEditor`
-
-Event property drawer of type `Collider2DPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `VoidEventEditor`
-
-Event property drawer of type `Void`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `AtomBaseVariableEventEditor`
-
-Event property drawer of type `AtomBaseVariable`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `Vector3PairEventEditor`
-
-Event property drawer of type `Vector3Pair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `FloatEventEditor`
-
-Event property drawer of type `float`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `CollisionPairEventEditor`
-
-Event property drawer of type `CollisionPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `StringEventEditor`
-
-Event property drawer of type `string`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `GameObjectPairEventEditor`
-
-Event property drawer of type `GameObjectPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `GameObjectEventEditor`
-
-Event property drawer of type `GameObject`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `CollisionEventEditor`
-
-Event property drawer of type `Collision`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `ColliderPairEventEditor`
-
-Event property drawer of type `ColliderPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `Vector3EventEditor`
-
-Event property drawer of type `Vector3`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `Collision2DPairEventEditor`
-
-Event property drawer of type `Collision2DPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `StringPairEventEditor`
-
-Event property drawer of type `StringPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `Collision2DEventEditor`
-
-Event property drawer of type `Collision2D`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+Constant property drawer of type `Vector3`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
@@ -355,177 +133,45 @@ A custom property drawer for Void BaseEventReferences. Makes it possible to choo
---
-## `Collider2DConstantDrawer`
+## `AtomBaseVariableEventDrawer`
-Constant property drawer of type `Collider2D`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+Event property drawer of type `AtomBaseVariable`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `Vector2ConstantDrawer`
+## `BoolEventDrawer`
-Constant property drawer of type `Vector2`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+Event property drawer of type `bool`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `Collision2DConstantDrawer`
+## `BoolPairEventDrawer`
-Constant property drawer of type `Collision2D`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+Event property drawer of type `BoolPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `QuaternionConstantDrawer`
+## `Collider2DEventDrawer`
-Constant property drawer of type `Quaternion`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+Event property drawer of type `Collider2D`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `FloatConstantDrawer`
+## `Collider2DPairEventDrawer`
-Constant property drawer of type `float`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+Event property drawer of type `Collider2DPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `DoubleConstantDrawer`
+## `ColliderEventDrawer`
-Constant property drawer of type `double`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+Event property drawer of type `Collider`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `Vector3ConstantDrawer`
+## `ColliderPairEventDrawer`
-Constant property drawer of type `Vector3`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `ColorConstantDrawer`
-
-Constant property drawer of type `Color`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `StringConstantDrawer`
-
-Constant property drawer of type `string`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `IntConstantDrawer`
-
-Constant property drawer of type `int`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `GameObjectConstantDrawer`
-
-Constant property drawer of type `GameObject`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `ColliderConstantDrawer`
-
-Constant property drawer of type `Collider`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `BoolConstantDrawer`
-
-Constant property drawer of type `bool`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `CollisionConstantDrawer`
-
-Constant property drawer of type `Collision`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `ColorVariableDrawer`
-
-Variable property drawer of type `Color`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `Vector3VariableDrawer`
-
-Variable property drawer of type `Vector3`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `DoubleVariableDrawer`
-
-Variable property drawer of type `double`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `FloatVariableDrawer`
-
-Variable property drawer of type `float`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `QuaternionVariableDrawer`
-
-Variable property drawer of type `Quaternion`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `Vector2VariableDrawer`
-
-Variable property drawer of type `Vector2`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `Collision2DVariableDrawer`
-
-Variable property drawer of type `Collision2D`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `Collider2DVariableDrawer`
-
-Variable property drawer of type `Collider2D`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `CollisionVariableDrawer`
-
-Variable property drawer of type `Collision`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `GameObjectVariableDrawer`
-
-Variable property drawer of type `GameObject`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `BoolVariableDrawer`
-
-Variable property drawer of type `bool`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `ColliderVariableDrawer`
-
-Variable property drawer of type `Collider`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `IntVariableDrawer`
-
-Variable property drawer of type `int`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `StringVariableDrawer`
-
-Variable property drawer of type `string`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `StringPairEventDrawer`
-
-Event property drawer of type `StringPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+Event property drawer of type `ColliderPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
@@ -541,15 +187,9 @@ Event property drawer of type `Collision2DPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `FloatEventDrawer`
-
-Event property drawer of type `float`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+Event property drawer of type `Collision`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
@@ -559,183 +199,117 @@ Event property drawer of type `CollisionPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `GameObjectEventDrawer`
-
-Event property drawer of type `GameObject`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `CollisionEventDrawer`
-
-Event property drawer of type `Collision`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `ColliderPairEventDrawer`
-
-Event property drawer of type `ColliderPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `StringEventDrawer`
-
-Event property drawer of type `string`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `GameObjectPairEventDrawer`
-
-Event property drawer of type `GameObjectPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `AtomBaseVariableEventDrawer`
-
-Event property drawer of type `AtomBaseVariable`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `Vector2PairEventDrawer`
-
-Event property drawer of type `Vector2Pair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `QuaternionPairEventDrawer`
-
-Event property drawer of type `QuaternionPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `Collider2DPairEventDrawer`
-
-Event property drawer of type `Collider2DPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `VoidEventDrawer`
-
-Event property drawer of type `Void`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `DoubleEventDrawer`
-
-Event property drawer of type `double`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `Collider2DEventDrawer`
-
-Event property drawer of type `Collider2D`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `FloatPairEventDrawer`
-
-Event property drawer of type `FloatPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `IntEventDrawer`
-
-Event property drawer of type `int`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `BoolPairEventDrawer`
-
-Event property drawer of type `BoolPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `DoublePairEventDrawer`
-
-Event property drawer of type `DoublePair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `ColliderEventDrawer`
-
-Event property drawer of type `Collider`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `Vector2EventDrawer`
-
-Event property drawer of type `Vector2`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `IntPairEventDrawer`
-
-Event property drawer of type `IntPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
## `ColorEventDrawer`
Event property drawer of type `Color`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `BoolEventDrawer`
-
-Event property drawer of type `bool`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `QuaternionEventDrawer`
-
-Event property drawer of type `Quaternion`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
## `ColorPairEventDrawer`
Event property drawer of type `ColorPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `AtomListReferenceDrawer`
+## `DoubleEventDrawer`
-A custom property drawer for AtomListReference. Makes it possible to choose between a List or a List Instancer.
+Event property drawer of type `double`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `StringReferenceAtomBaseVariableDictionaryDrawer`
+## `DoublePairEventDrawer`
-SerializableDictionary property drawer for type . Inherits from `SerializableDictionaryDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+Event property drawer of type `DoublePair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `AtomCollectionReferenceDrawer`
+## `FloatEventDrawer`
-A custom property drawer for AtomCollectionReference. Makes it possible to choose between a Collection or a Collection Instancer.
+Event property drawer of type `float`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `SerializableDictionaryDrawer`3`
+## `FloatPairEventDrawer`
-A custom property drawer for SerializableDictionary.
+Event property drawer of type `FloatPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `AtomListDrawer`
+## `GameObjectEventDrawer`
-A custom property drawer for AtomBaseVariableList.
+Event property drawer of type `GameObject`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
-## `FloatValueListDrawer`
+## `GameObjectPairEventDrawer`
-Value List property drawer of type `float`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+Event property drawer of type `GameObjectPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `IntEventDrawer`
+
+Event property drawer of type `int`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `IntPairEventDrawer`
+
+Event property drawer of type `IntPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `QuaternionEventDrawer`
+
+Event property drawer of type `Quaternion`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `QuaternionPairEventDrawer`
+
+Event property drawer of type `QuaternionPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `StringEventDrawer`
+
+Event property drawer of type `string`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `StringPairEventDrawer`
+
+Event property drawer of type `StringPair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `Vector2EventDrawer`
+
+Event property drawer of type `Vector2`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `Vector2PairEventDrawer`
+
+Event property drawer of type `Vector2Pair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `Vector3EventDrawer`
+
+Event property drawer of type `Vector3`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `Vector3PairEventDrawer`
+
+Event property drawer of type `Vector3Pair`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `VoidEventDrawer`
+
+Event property drawer of type `Void`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
@@ -745,51 +319,9 @@ Value List property drawer of type `bool`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `IntValueListDrawer`
-
-Value List property drawer of type `int`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `ColorValueListDrawer`
-
-Value List property drawer of type `Color`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `StringValueListDrawer`
-
-Value List property drawer of type `string`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `Collision2DValueListDrawer`
-
-Value List property drawer of type `Collision2D`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `Vector3ValueListDrawer`
-
-Value List property drawer of type `Vector3`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `CollisionValueListDrawer`
-
-Value List property drawer of type `Collision`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
-
----
-
-## `GameObjectValueListDrawer`
-
-Value List property drawer of type `GameObject`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+Value List property drawer of type `Collider2D`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
@@ -799,9 +331,45 @@ Value List property drawer of type `Collider`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+Value List property drawer of type `Collision2D`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `CollisionValueListDrawer`
+
+Value List property drawer of type `Collision`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `ColorValueListDrawer`
+
+Value List property drawer of type `Color`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `DoubleValueListDrawer`
+
+Value List property drawer of type `double`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `FloatValueListDrawer`
+
+Value List property drawer of type `float`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `GameObjectValueListDrawer`
+
+Value List property drawer of type `GameObject`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `IntValueListDrawer`
+
+Value List property drawer of type `int`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
@@ -811,9 +379,357 @@ Value List property drawer of type `Quaternion`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+Value List property drawer of type `string`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `Vector2ValueListDrawer`
+
+Value List property drawer of type `Vector2`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `Vector3ValueListDrawer`
+
+Value List property drawer of type `Vector3`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `BoolVariableDrawer`
+
+Variable property drawer of type `bool`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `Collider2DVariableDrawer`
+
+Variable property drawer of type `Collider2D`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `ColliderVariableDrawer`
+
+Variable property drawer of type `Collider`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `Collision2DVariableDrawer`
+
+Variable property drawer of type `Collision2D`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `CollisionVariableDrawer`
+
+Variable property drawer of type `Collision`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `ColorVariableDrawer`
+
+Variable property drawer of type `Color`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `DoubleVariableDrawer`
+
+Variable property drawer of type `double`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `FloatVariableDrawer`
+
+Variable property drawer of type `float`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `GameObjectVariableDrawer`
+
+Variable property drawer of type `GameObject`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `IntVariableDrawer`
+
+Variable property drawer of type `int`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `QuaternionVariableDrawer`
+
+Variable property drawer of type `Quaternion`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `StringVariableDrawer`
+
+Variable property drawer of type `string`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `Vector2VariableDrawer`
+
+Variable property drawer of type `Vector2`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `Vector3VariableDrawer`
+
+Variable property drawer of type `Vector3`. Inherits from `AtomDrawer`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `AtomBaseVariableEventInstancerEditor`
+
+Event property drawer of type `AtomBaseVariable`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `BoolEventInstancerEditor`
+
+Event property drawer of type `bool`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `Collider2DEventInstancerEditor`
+
+Event property drawer of type `Collider2D`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `ColliderEventInstancerEditor`
+
+Event property drawer of type `Collider`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `ColorEventInstancerEditor`
+
+Event property drawer of type `Color`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `FloatEventInstancerEditor`
+
+Event property drawer of type `float`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `GameObjectEventInstancerEditor`
+
+Event property drawer of type `GameObject`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `IntEventInstancerEditor`
+
+Event property drawer of type `int`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `StringEventInstancerEditor`
+
+Event property drawer of type `string`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `Vector2EventInstancerEditor`
+
+Event property drawer of type `Vector2`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `Vector3EventInstancerEditor`
+
+Event property drawer of type `Vector3`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `VoidEventInstancerEditor`
+
+Event property drawer of type `Void`. Inherits from `AtomEventInstancerEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `AtomBaseVariableEventEditor`
+
+Event property drawer of type `AtomBaseVariable`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `BoolEventEditor`
+
+Event property drawer of type `bool`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `BoolPairEventEditor`
+
+Event property drawer of type `BoolPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `Collider2DEventEditor`
+
+Event property drawer of type `Collider2D`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `Collider2DPairEventEditor`
+
+Event property drawer of type `Collider2DPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `ColliderEventEditor`
+
+Event property drawer of type `Collider`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `ColliderPairEventEditor`
+
+Event property drawer of type `ColliderPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `Collision2DEventEditor`
+
+Event property drawer of type `Collision2D`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `Collision2DPairEventEditor`
+
+Event property drawer of type `Collision2DPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `CollisionEventEditor`
+
+Event property drawer of type `Collision`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `CollisionPairEventEditor`
+
+Event property drawer of type `CollisionPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `ColorEventEditor`
+
+Event property drawer of type `Color`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `ColorPairEventEditor`
+
+Event property drawer of type `ColorPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `DoubleEventEditor`
+
+Event property drawer of type `double`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `DoublePairEventEditor`
+
+Event property drawer of type `DoublePair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `FloatEventEditor`
+
+Event property drawer of type `float`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `FloatPairEventEditor`
+
+Event property drawer of type `FloatPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `GameObjectEventEditor`
+
+Event property drawer of type `GameObject`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `GameObjectPairEventEditor`
+
+Event property drawer of type `GameObjectPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `IntEventEditor`
+
+Event property drawer of type `int`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `IntPairEventEditor`
+
+Event property drawer of type `IntPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `QuaternionEventEditor`
+
+Event property drawer of type `Quaternion`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `QuaternionPairEventEditor`
+
+Event property drawer of type `QuaternionPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `StringEventEditor`
+
+Event property drawer of type `string`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `StringPairEventEditor`
+
+Event property drawer of type `StringPair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `Vector2EventEditor`
+
+Event property drawer of type `Vector2`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `Vector2PairEventEditor`
+
+Event property drawer of type `Vector2Pair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `Vector3EventEditor`
+
+Event property drawer of type `Vector3`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `Vector3PairEventEditor`
+
+Event property drawer of type `Vector3Pair`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
+
+---
+
+## `VoidEventEditor`
+
+Event property drawer of type `Void`. Inherits from `AtomEventEditor`. Only availble in `UNITY_2019_1_OR_NEWER`.
---
@@ -834,3 +750,87 @@ Custom editor for ClampFloat.
Custom editor for ClampInt.
---
+
+## `BoolVariableEditor`
+
+Variable Inspector of type `bool`. Inherits from `AtomVariableEditor`
+
+---
+
+## `Collider2DVariableEditor`
+
+Variable Inspector of type `Collider2D`. Inherits from `AtomVariableEditor`
+
+---
+
+## `ColliderVariableEditor`
+
+Variable Inspector of type `Collider`. Inherits from `AtomVariableEditor`
+
+---
+
+## `Collision2DVariableEditor`
+
+Variable Inspector of type `Collision2D`. Inherits from `AtomVariableEditor`
+
+---
+
+## `CollisionVariableEditor`
+
+Variable Inspector of type `Collision`. Inherits from `AtomVariableEditor`
+
+---
+
+## `ColorVariableEditor`
+
+Variable Inspector of type `Color`. Inherits from `AtomVariableEditor`
+
+---
+
+## `DoubleVariableEditor`
+
+Variable Inspector of type `double`. Inherits from `AtomVariableEditor`
+
+---
+
+## `FloatVariableEditor`
+
+Variable Inspector of type `float`. Inherits from `AtomVariableEditor`
+
+---
+
+## `GameObjectVariableEditor`
+
+Variable Inspector of type `GameObject`. Inherits from `AtomVariableEditor`
+
+---
+
+## `IntVariableEditor`
+
+Variable Inspector of type `int`. Inherits from `AtomVariableEditor`
+
+---
+
+## `QuaternionVariableEditor`
+
+Variable Inspector of type `Quaternion`. Inherits from `AtomVariableEditor`
+
+---
+
+## `StringVariableEditor`
+
+Variable Inspector of type `string`. Inherits from `AtomVariableEditor`
+
+---
+
+## `Vector2VariableEditor`
+
+Variable Inspector of type `Vector2`. Inherits from `AtomVariableEditor`
+
+---
+
+## `Vector3VariableEditor`
+
+Variable Inspector of type `Vector3`. Inherits from `AtomVariableEditor`
+
+---
diff --git a/docs/api/unityatoms.baseatoms.md b/docs/api/unityatoms.baseatoms.md
index 878dbcfa..bbf7320d 100644
--- a/docs/api/unityatoms.baseatoms.md
+++ b/docs/api/unityatoms.baseatoms.md
@@ -7,875 +7,273 @@ sidebar_label: UnityAtoms.BaseAtoms
# Namespace - `UnityAtoms.BaseAtoms`
-## `BoolPairEventReferenceListener`
+## `AtomBaseVariableAction`
-Event Reference Listener of type `BoolPair`. Inherits from `AtomEventReferenceListener`.
+Action of type `AtomBaseVariable`. Inherits from `AtomAction`.
---
-## `CollisionPairEventReferenceListener`
+## `BoolAction`
-Event Reference Listener of type `CollisionPair`. Inherits from `AtomEventReferenceListener`.
+Action of type `bool`. Inherits from `AtomAction`.
---
-## `Collider2DPairEventReferenceListener`
+## `BoolPairAction`
-Event Reference Listener of type `Collider2DPair`. Inherits from `AtomEventReferenceListener`.
+Action of type `BoolPair`. Inherits from `AtomAction`.
---
-## `CollisionEventReferenceListener`
+## `Collider2DAction`
-Event Reference Listener of type `Collision`. Inherits from `AtomEventReferenceListener`.
+Action of type `Collider2D`. Inherits from `AtomAction`.
---
-## `IntEventReferenceListener`
+## `Collider2DPairAction`
-Event Reference Listener of type `int`. Inherits from `AtomEventReferenceListener`.
+Action of type `Collider2DPair`. Inherits from `AtomAction`.
---
-## `Collision2DPairEventReferenceListener`
+## `ColliderAction`
-Event Reference Listener of type `Collision2DPair`. Inherits from `AtomEventReferenceListener`.
+Action of type `Collider`. Inherits from `AtomAction`.
---
-## `ColliderEventReferenceListener`
+## `ColliderPairAction`
-Event Reference Listener of type `Collider`. Inherits from `AtomEventReferenceListener`.
+Action of type `ColliderPair`. Inherits from `AtomAction`.
---
-## `Collision2DEventReferenceListener`
+## `Collision2DAction`
-Event Reference Listener of type `Collision2D`. Inherits from `AtomEventReferenceListener`.
+Action of type `Collision2D`. Inherits from `AtomAction`.
---
-## `IntPairEventReferenceListener`
+## `Collision2DPairAction`
-Event Reference Listener of type `IntPair`. Inherits from `AtomEventReferenceListener`.
+Action of type `Collision2DPair`. Inherits from `AtomAction