diff --git a/ExternalApp/Genesis.Core.Plugin/AssemblyInfo.cs b/ExternalApp/Genesis.Core.Plugin/AssemblyInfo.cs
index ca62313..d1c613c 100644
--- a/ExternalApp/Genesis.Core.Plugin/AssemblyInfo.cs
+++ b/ExternalApp/Genesis.Core.Plugin/AssemblyInfo.cs
@@ -30,6 +30,6 @@ THE SOFTWARE.
[assembly: InternalsVisibleTo("Genesis.Plugin.Tests")]
// Assembly Info
-[assembly: AssemblyVersion("2.3.2")]
-[assembly: AssemblyFileVersion("2.3.2")]
-[assembly: AssemblyInformationalVersion("2.3.2+5.Branch.develop.Sha.e84474a0656506cabac7de45cf2f940f77a1acc8")]
+[assembly: AssemblyVersion("2.4.0")]
+[assembly: AssemblyFileVersion("2.4.0")]
+[assembly: AssemblyInformationalVersion("2.4.0+6.Branch.develop.Sha.589d13152010b5a071f2764fb71291cee69db01f")]
diff --git a/ExternalApp/Genesis.Core/AssemblyInfo.cs b/ExternalApp/Genesis.Core/AssemblyInfo.cs
index 227e69a..f23e189 100644
--- a/ExternalApp/Genesis.Core/AssemblyInfo.cs
+++ b/ExternalApp/Genesis.Core/AssemblyInfo.cs
@@ -33,6 +33,6 @@ THE SOFTWARE.
[assembly: InternalsVisibleTo("Genesis.Editor")]
// Assembly Info
-[assembly: AssemblyVersion("2.3.2")]
-[assembly: AssemblyFileVersion("2.3.2")]
-[assembly: AssemblyInformationalVersion("2.3.2+5.Branch.develop.Sha.e84474a0656506cabac7de45cf2f940f77a1acc8")]
+[assembly: AssemblyVersion("2.4.0")]
+[assembly: AssemblyFileVersion("2.4.0")]
+[assembly: AssemblyInformationalVersion("2.4.0+6.Branch.develop.Sha.589d13152010b5a071f2764fb71291cee69db01f")]
diff --git a/ExternalApp/Genesis.Plugin/AssemblyInfo.cs b/ExternalApp/Genesis.Plugin/AssemblyInfo.cs
index 6d5b77c..f79e3d4 100644
--- a/ExternalApp/Genesis.Plugin/AssemblyInfo.cs
+++ b/ExternalApp/Genesis.Plugin/AssemblyInfo.cs
@@ -31,6 +31,6 @@ THE SOFTWARE.
[assembly: InternalsVisibleTo("Genesis.Plugin.Tests")]
// Assembly Info
-[assembly: AssemblyVersion("2.3.2")]
-[assembly: AssemblyFileVersion("2.3.2")]
-[assembly: AssemblyInformationalVersion("2.3.2+5.Branch.develop.Sha.e84474a0656506cabac7de45cf2f940f77a1acc8")]
+[assembly: AssemblyVersion("2.4.0")]
+[assembly: AssemblyFileVersion("2.4.0")]
+[assembly: AssemblyInformationalVersion("2.4.0+6.Branch.develop.Sha.589d13152010b5a071f2764fb71291cee69db01f")]
diff --git a/ExternalApp/Genesis.Shared/AssemblyInfo.cs b/ExternalApp/Genesis.Shared/AssemblyInfo.cs
index 39d5cad..cd48a36 100644
--- a/ExternalApp/Genesis.Shared/AssemblyInfo.cs
+++ b/ExternalApp/Genesis.Shared/AssemblyInfo.cs
@@ -35,6 +35,6 @@ THE SOFTWARE.
[assembly: InternalsVisibleTo("Genesis.Editor")]
[assembly: InternalsVisibleTo("Genesis.Editor.Tests")]
-[assembly: AssemblyVersion("2.3.2")]
-[assembly: AssemblyFileVersion("2.3.2")]
-[assembly: AssemblyInformationalVersion("2.3.2+5.Branch.develop.Sha.e84474a0656506cabac7de45cf2f940f77a1acc8")]
+[assembly: AssemblyVersion("2.4.0")]
+[assembly: AssemblyFileVersion("2.4.0")]
+[assembly: AssemblyInformationalVersion("2.4.0+6.Branch.develop.Sha.589d13152010b5a071f2764fb71291cee69db01f")]
diff --git a/ExternalApp/Genesis.Unity.Factory.Plugin/AssemblyInfo.cs b/ExternalApp/Genesis.Unity.Factory.Plugin/AssemblyInfo.cs
index a40f744..02e5e64 100644
--- a/ExternalApp/Genesis.Unity.Factory.Plugin/AssemblyInfo.cs
+++ b/ExternalApp/Genesis.Unity.Factory.Plugin/AssemblyInfo.cs
@@ -30,6 +30,6 @@ THE SOFTWARE.
[assembly:InternalsVisibleTo("Genesis.Plugin.Tests")]
// Assembly Info
-[assembly: AssemblyVersion("2.3.2")]
-[assembly: AssemblyFileVersion("2.3.2")]
-[assembly: AssemblyInformationalVersion("2.3.2+5.Branch.develop.Sha.e84474a0656506cabac7de45cf2f940f77a1acc8")]
+[assembly: AssemblyVersion("2.4.0")]
+[assembly: AssemblyFileVersion("2.4.0")]
+[assembly: AssemblyInformationalVersion("2.4.0+6.Branch.develop.Sha.589d13152010b5a071f2764fb71291cee69db01f")]
diff --git a/ExternalApp/Genesis/AssemblyInfo.cs b/ExternalApp/Genesis/AssemblyInfo.cs
index ca7840f..5c5f6e7 100644
--- a/ExternalApp/Genesis/AssemblyInfo.cs
+++ b/ExternalApp/Genesis/AssemblyInfo.cs
@@ -26,6 +26,6 @@ THE SOFTWARE.
using System.Reflection;
// Assembly Info
-[assembly: AssemblyVersion("2.3.2")]
-[assembly: AssemblyFileVersion("2.3.2")]
-[assembly: AssemblyInformationalVersion("2.3.2+5.Branch.develop.Sha.e84474a0656506cabac7de45cf2f940f77a1acc8")]
+[assembly: AssemblyVersion("2.4.0")]
+[assembly: AssemblyFileVersion("2.4.0")]
+[assembly: AssemblyInformationalVersion("2.4.0+6.Branch.develop.Sha.589d13152010b5a071f2764fb71291cee69db01f")]
diff --git a/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Core.dll b/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Core.dll
index d3ce853..9646e8d 100644
Binary files a/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Core.dll and b/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Core.dll differ
diff --git a/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Core.pdb b/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Core.pdb
index 4ecd7b0..118d804 100644
Binary files a/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Core.pdb and b/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Core.pdb differ
diff --git a/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Shared.dll b/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Shared.dll
index 06e3402..f9fb63e 100644
Binary files a/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Shared.dll and b/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Shared.dll differ
diff --git a/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Shared.pdb b/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Shared.pdb
index e60b027..2a2b4bd 100644
Binary files a/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Shared.pdb and b/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Shared.pdb differ
diff --git a/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Unity.Factory.dll b/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Unity.Factory.dll
index 12dc9eb..2f6d034 100644
Binary files a/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Unity.Factory.dll and b/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Unity.Factory.dll differ
diff --git a/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Unity.Factory.pdb b/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Unity.Factory.pdb
index decfa87..2cb8f6a 100644
Binary files a/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Unity.Factory.pdb and b/ExternalApp/UnityProjectFixtures/Assets/JCMG/Genesis/Plugins/Genesis.Unity.Factory.pdb differ
diff --git a/ExternalApp/UnityProjectFixtures/Assets/Scripts/AssemblyInfo.cs b/ExternalApp/UnityProjectFixtures/Assets/Scripts/AssemblyInfo.cs
index 27198a3..7615b86 100644
--- a/ExternalApp/UnityProjectFixtures/Assets/Scripts/AssemblyInfo.cs
+++ b/ExternalApp/UnityProjectFixtures/Assets/Scripts/AssemblyInfo.cs
@@ -3,6 +3,6 @@
[assembly: InternalsVisibleTo("Editor")]
-[assembly: AssemblyVersion("2.3.2")]
-[assembly: AssemblyFileVersion("2.3.2")]
-[assembly: AssemblyInformationalVersion("2.3.2+5.Branch.develop.Sha.e84474a0656506cabac7de45cf2f940f77a1acc8")]
+[assembly: AssemblyVersion("2.4.0")]
+[assembly: AssemblyFileVersion("2.4.0")]
+[assembly: AssemblyInformationalVersion("2.4.0+6.Branch.develop.Sha.589d13152010b5a071f2764fb71291cee69db01f")]
diff --git a/Unity/Assets/JCMG/Genesis/CHANGELOG.MD b/Unity/Assets/JCMG/Genesis/CHANGELOG.MD
index 379453b..df2dc87 100644
--- a/Unity/Assets/JCMG/Genesis/CHANGELOG.MD
+++ b/Unity/Assets/JCMG/Genesis/CHANGELOG.MD
@@ -5,6 +5,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Releases]
+### [2.4.0] - 2021-11-12
+#### Added
+* A new factory option is available via new types `ISymbolObject` and `GenerateSymbolFactoryAttribute`. `ISymbolObject` represents a uniquely identified object by way of a `string` `Symbol` field. Any types implementing this interface that are also decorated with `GenerateSymbolFactoryAttribute` will have factory types generated for them to enable retrieving the implementing type by it's `Symbol` value.
+
+#### Changed
+* All factory classes and assets generated from `ScriptableFactoryProvider` now have `Factory` suffixed to the end of the name to make it clearer what the type is supposed to reflect. They now also have optional Odin markup that will enhance their utility, usability, and readability; this is compiled out when Odin is not available (by way of the scriptable define Odin adds to the project settings).
+
### [2.3.2] - 2021-07-04
#### Fixed
These issues should help resolve any operating system path issues that caused either plugins to fail to be discovered or files to be written incorrectly.
diff --git a/Unity/Assets/JCMG/Genesis/External/Genesis.CLI.zip b/Unity/Assets/JCMG/Genesis/External/Genesis.CLI.zip
index baaa520..777b1bd 100644
Binary files a/Unity/Assets/JCMG/Genesis/External/Genesis.CLI.zip and b/Unity/Assets/JCMG/Genesis/External/Genesis.CLI.zip differ
diff --git a/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Core.dll b/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Core.dll
index d3ce853..9646e8d 100644
Binary files a/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Core.dll and b/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Core.dll differ
diff --git a/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Core.pdb b/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Core.pdb
index 4ecd7b0..118d804 100644
Binary files a/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Core.pdb and b/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Core.pdb differ
diff --git a/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Shared.dll b/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Shared.dll
index 06e3402..f9fb63e 100644
Binary files a/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Shared.dll and b/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Shared.dll differ
diff --git a/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Shared.pdb b/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Shared.pdb
index e60b027..2a2b4bd 100644
Binary files a/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Shared.pdb and b/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Shared.pdb differ
diff --git a/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Unity.Factory.dll b/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Unity.Factory.dll
index 12dc9eb..2f6d034 100644
Binary files a/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Unity.Factory.dll and b/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Unity.Factory.dll differ
diff --git a/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Unity.Factory.pdb b/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Unity.Factory.pdb
index decfa87..2cb8f6a 100644
Binary files a/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Unity.Factory.pdb and b/Unity/Assets/JCMG/Genesis/Plugins/Genesis.Unity.Factory.pdb differ
diff --git a/Unity/Assets/JCMG/Genesis/Scripts/Editor/AssemblyInfo.cs b/Unity/Assets/JCMG/Genesis/Scripts/Editor/AssemblyInfo.cs
index 7cc48bc..d0fc1cc 100644
--- a/Unity/Assets/JCMG/Genesis/Scripts/Editor/AssemblyInfo.cs
+++ b/Unity/Assets/JCMG/Genesis/Scripts/Editor/AssemblyInfo.cs
@@ -28,6 +28,6 @@ THE SOFTWARE.
[assembly: InternalsVisibleTo("Genesis.Editor.Tests")]
-[assembly: AssemblyVersion("2.3.2")]
-[assembly: AssemblyFileVersion("2.3.2")]
-[assembly: AssemblyInformationalVersion("2.3.2+5.Branch.develop.Sha.e84474a0656506cabac7de45cf2f940f77a1acc8")]
+[assembly: AssemblyVersion("2.4.0")]
+[assembly: AssemblyFileVersion("2.4.0")]
+[assembly: AssemblyInformationalVersion("2.4.0+6.Branch.develop.Sha.589d13152010b5a071f2764fb71291cee69db01f")]
diff --git a/Unity/Assets/JCMG/Genesis/Scripts/Editor/VersionConstants.cs b/Unity/Assets/JCMG/Genesis/Scripts/Editor/VersionConstants.cs
index b5716e0..d75b9a4 100644
--- a/Unity/Assets/JCMG/Genesis/Scripts/Editor/VersionConstants.cs
+++ b/Unity/Assets/JCMG/Genesis/Scripts/Editor/VersionConstants.cs
@@ -32,7 +32,7 @@ internal static class VersionConstants
///
/// The semantic version
///
- public const string VERSION = "2.3.2";
+ public const string VERSION = "2.4.0";
///
/// The branch of GIT this package was published from.
@@ -42,16 +42,16 @@ internal static class VersionConstants
///
/// The current GIT commit hash this package was published on.
///
- public const string GIT_COMMIT = "e84474a0656506cabac7de45cf2f940f77a1acc8";
+ public const string GIT_COMMIT = "589d13152010b5a071f2764fb71291cee69db01f";
///
/// The UTC human-readable date this package was published at.
///
- public const string PUBLISH_DATE = "Monday, 05 July 2021";
+ public const string PUBLISH_DATE = "Saturday, 11 December 2021";
///
/// The UTC time this package was published at.
///
- public const string PUBLISH_TIME = "07/05/2021 03:07:36";
+ public const string PUBLISH_TIME = "12/11/2021 23:52:19";
}
}
diff --git a/Unity/Assets/PackageManifest/Generated/66f64dad-4bda-4f2e-b960-22b7974f8604/package.json b/Unity/Assets/PackageManifest/Generated/66f64dad-4bda-4f2e-b960-22b7974f8604/package.json
index 8c1a278..dcb9812 100644
--- a/Unity/Assets/PackageManifest/Generated/66f64dad-4bda-4f2e-b960-22b7974f8604/package.json
+++ b/Unity/Assets/PackageManifest/Generated/66f64dad-4bda-4f2e-b960-22b7974f8604/package.json
@@ -1 +1 @@
-{"name":"com.jeffcampbellmakesgames.genesis","displayName":"JCMG Genesis","version":"2.3.2","unity":"2019.1","description":"A general purpose code generation library for Unity","keywords":["JCMG","Code Generation","Genesis","Code","Gen"],"category":"Editor","author":{ "name":"Jeff Campbell", "email":"mirraraenn@gmail.com", "url":"https://github.com/jeffcampbellmakesgames/Genesis"},"dependencies":{"com.unity.settings-manager":"1.0.3","com.unity.sharp-zip-lib":"1.2.2-preview.1"}}
\ No newline at end of file
+{"name":"com.jeffcampbellmakesgames.genesis","displayName":"JCMG Genesis","version":"2.4.0","unity":"2019.1","description":"A general purpose code generation library for Unity","keywords":["JCMG","Code Generation","Genesis","Code","Gen"],"category":"Editor","author":{ "name":"Jeff Campbell", "email":"mirraraenn@gmail.com", "url":"https://github.com/jeffcampbellmakesgames/Genesis"},"dependencies":{"com.unity.settings-manager":"1.0.3","com.unity.sharp-zip-lib":"1.2.2-preview.1"}}
\ No newline at end of file
diff --git a/Unity/Assets/PackageManifest/PackageManifestConfig.asset b/Unity/Assets/PackageManifest/PackageManifestConfig.asset
index 29b8fb4..3550e63 100644
--- a/Unity/Assets/PackageManifest/PackageManifestConfig.asset
+++ b/Unity/Assets/PackageManifest/PackageManifestConfig.asset
@@ -20,7 +20,7 @@ MonoBehaviour:
legacyPackageDestinationPath: ../Builds
packageName: com.jeffcampbellmakesgames.genesis
displayName: JCMG Genesis
- packageVersion: 2.3.2
+ packageVersion: 2.4.0
unityVersion: 2019.1
description: A general purpose code generation library for Unity
category: Editor