2.17.1 (2022-08-02)
- Fixed exception when creating a new unity object through Creatable attribute (99ce2de)
- Fixed incorrect concrete types used for creating generic scriptable objects (07c73ae)
2.17.0 (2022-07-24)
- Fixed concrete classes of a different type added to type database after a generic unity-object class is removed (4d07108)
- Fixed exception in Reference property drawer (1602288)
- Implemented Creatable attribute for generic MonoBehaviours (d3420ac)
- Switched from GUID to assembly names in asmdefs (349d9c1)
2.16.0 (2022-06-19)
- Fixed compilation error related to AssetDatabase.SaveAssetIfDirty() in Unity 2021.1.16 and older (4c2ac45)
- Improved the way the package detects if the platform can emit code at runtime (47877e7)
- Removed a warning regarding pdb files in Unity on non-Windows platforms (7686dbe)
- Made auto-generated classes public so that they can be referenced by code generation plugins (0bd4e67)
- Made possible to inherit from simple ScriptableObject instead of GenericScriptableObject to create generic assets (0c4ac2d)
2.15.3 (2022-05-08)
- Fixed errors in dependencies and updated them (0eb43b1)
2.15.2 (2022-03-13)
- Fixed generic scriptable object not being created through the Creatable attribute for the first time (b3be59f)
2.15.1 (2022-03-08)
- Fixed the missing reference to MissingScriptType (1f9483b)
2.15.0 (2022-02-13)
- Fixed missing dependency on EasyButtons (cdee47c)
2.14.1 (2022-02-03)
- Fixed the error in console regarding the immutable Changelog file (d6df2ae)
2.14.0 (2022-02-03)
- Fixed ArgumentException occuring on domain reload (084605a)
- Fixed changes to the database not saved after removing a concrete class (d3e5314)
- Fixed directory-not-found exception when using the package for the first time (629be74)
- Fixed FileNotFound exception when trying to replace an assembly that does not exist (f090bb0)
- Fixed generic components not generating and Undo record when being added (b58e0d8)
- Fixed not working custom editor for generic MonoBehaviours with new versions of Odin Inspector (e3ad7e6)
- Fixed type exception when drawing a non-generic type object field using GenericObjectField (74da9ca)
- Made GenericObjectDrawer recognize that the current target is generic and show it correctly even if the passed type is not generic (e16bcf7)
- Added a namespace to the auto-generated concrete classes (73af6e8)
- Added GenericBehaviourCreator.AddComponent() overload that tells if the domain reload is needed (a781e1f)
- Replaced a centered dropdown window with opening it at the mouse position when creating a generic scriptable object (2932b77)
- Started regenerating selector assemblies that were removed (821c8e2)
2.13.1 (2021-11-21)
- Updated SolidUtilities to the required version (735a0d0)
2.13.0 (2021-11-21)
- Fixed NullReferenceException when generating a new concrete class (c8f0a83)
- Removed the deprecated warning when setting custom icons (b104d91)
- Started creating directories only when they are needed instead of creating them beforehand (e425f32)
- Added PackageUpgrade to move the generated assemblies to their new directories (ffb4388)
- Started detecting and adding back generated assemblies whose information was missing from the database (ef33dbf)
2.12.1 (2021-11-16)
- Updated the ClassTypeReference dependency (9f80a4e)
2.12.0 (2021-11-16)
- Fixed MissingFieldException when using the plugin in Unity 2021.2 (5c61cf3)
- Adapted the plugin for NET Standard 2.1 (f5f885f)
- Added z_ prefix to all the generated assemblies to keep them at the bottom of dropdowns where DLL files are listed (1e6652a)
- Stopped generating .mdb files (6fe50ed)
2.11.4 (2021-10-24)
- Fixed suffixes being added to generated assemblies names when they are updated (4f79d82)
- Started adding back generated assemblies that exist in the folder but are missing in the database (1e88e3c)
2.11.3 (2021-10-22)
- Fixed NRE when opening a type dropdown on MacOS (8e3a0d8)
2.11.2 (2021-10-17)
- Fixed NRE when choosing a type for a new generic unity object (820f3b1)
2.11.1 (2021-10-16)
- Fixed MissingMethodException when choosing a UnityEvent method in Unity 2020.3.16 and earlier (896dcfe)
2.11.0 (2021-10-13)
- Added an ability to traverse the hierarchy of types in the dropdown with keyboard (1f8895d)
2.10.6 (2021-10-07)
- Fixed missing method exception in Unity 2020.3.15 and older (848005c)
2.10.5 (2021-10-03)
- Fixed "Type is not a supported pptr value" error when using UnityEvents (f3a6804)
- Fixed ApplicationException occurring sometimes after assembly reload (0d56d5e)
2.10.4 (2021-09-30)
- Started saving config changes to disk immediately after a change in generated assemblies (1cec201)
2.10.3 (2021-09-29)
- Fixed MissingReferenceException sometimes appearing on MacOS (06f5298)
2.10.2 (2021-09-27)
- Fixed ArgumentNullException after script reloading (0486764)
- Fixed incorrect type name when using UnityEvent with GenericScriptableObject (a67f794)
2.10.1 (2021-09-26)
- Fixed the correct type not being found in MonoScript if the class was not the first in the file (a1edfe5)
2.10.0 (2021-09-16)
- Added a checkbox in project settings allowing to put the + button next to all GenericScriptableObject fields regardless of the Creatable attribute (5caf05b)
- Fixed an issue with selector component not being recognized after pulling changes from git repo (2026c76)
- Made responses in the unity event drawer draggable (8292067)
2.9.0 (2021-09-05)
- Added automatic recompilation when an asset is not recognized (73fce44)
- Fixed an issue with databases being emptied when a Unity project is first opened after cloning (4d1e94d)
- Fixed compilation key not being removed on editor quit (bb84de2)
- Fixed CompilationHelper not executing scripts reload when needed (9fdc02c)
- Fixed NullReferenceException when there are broken assemblies (ed9bff2)
- Moved compilation-related fields of PersistentStorage to PlayerPrefs (96b0bfc)
- Started reimporting assemblies that failed to import properly the first time (07ca05e)
- Started reimporting created assets along with the corresponding assemblies when a MonoScript is lost (f2cf56d)
- Started reimporting created assets of failed assemblies on next domain reload (583f74b)
- Started skipping assembly reimport if we were not able to fix the assembly previously (5e75444)
- Added PlayerPrefs overloads for PersistentStorage save-loading methods (2247f7b)
2.8.1 (2021-09-02)
- Fixed generic scriptable objects with multiple type arguments having incorrect constraints when choosing generic arguments (3eb0419)
2.8.0 (2021-08-31)
- Fixed NullReferenceException when adding new generic monobehaviour components (03f17bf)
- Started drawing easy buttons in generic unityobjects inspectors if the package is installed (ed0c74a)
2.7.1 (2021-08-30)
- Fixed constant reloading when importing a generic type with a GUID reference to an icon but no texture in the project (2698e47)
2.7.0 (2021-08-28)
- Added a verbose warning message if a MonoScript is not found inside a generated assembly (6cf4d08)
- Added ConcreteClassAdded event to ConcreteClassCreator (e33f4b8)
- Added new GenericScriptableArchitecture assemblies to InternalsVisibleTo (91fabe0)
- Added ObjectSelectorHelper.ShowGenericSelector() method (387899f)
- Added the ApplyToChildren attribute (9ade420)
2.6.0 (2021-08-22)
- Added TEST_FRAMEWORK define symbol to unity test assemblies (73ecc9d)
- Fixed ArgumentOutOfRange exception when trying to find a custom script icon (464e043)
- Fixed attempt to generate a concrete class while it already exists when a generic scriptable object is created (167e87c)
- Fixed long delay before the interactive creation of a scriptable object (d3f9e4f)
- Fixed some generic types being regenerated when Unity starts with compilation errors (920cbe1)
- Removed unnecessary Assembly-CSharp inclusion in type dropdown (c4e1663)
- Updated according to changes in TypeReferences (a8d1883)
- Added ability to assign the created asset after assembly recompilation (feab545)
- Added object pinging in the hierarchy when an object is created through the Creatable attribute (4f45bd1)
- Added the creatable attribute that adds a Create button in the inspector next to object field (cde98f2)
2.5.0 (2021-06-20)
- Changed how generic UnityObjects are drawn with Odin (681eea7)
- Added GenericSOCreator.CreateAssetAtPath method (38ec365)
2.4.10 (2021-04-30)
- Fixed custom icons not being set for generated classes in Unity 2021 (8dde5cb)
- Fixed generic types databases not being initialized sometimes (0e65d84)
- Fixed missing type exception when drawing a generic object selector in Unity 2020 (f301bda)
- Fixed MissingMethodException when using Unity 2021 (5289e7c)
- Fixed NullReferenceException when entering PlayMode with PlayModeOptions disabled (fc85fdf)
- Replaced the wrong using statement in IconFinder (b48c844)
2.4.9 (2021-04-01)
- Fixed GUIContent null error when using GenericObjectDrawer.ObjectField with a non-generic UnityEngine.Object instance (bd71fa6)
2.4.8 (2021-03-23)
- Adjusted integration tests to the new OneTypeSelectionWindow class (dd317ab)
- Made OnTypeSelectionWindow a POCO that instantiates dropdown window as a popup (200b34e)
- Updated the Type References dependency (24178a5)
2.4.7 (2021-03-19)
- Fixed custom Odin drawers drawing non-generic scriptable objects (4b892e4)
2.4.6 (2021-03-01)
- Made GenericUnityObjectDrawer override the default behaviour of Odin (ec518fd)
2.4.5 (2021-02-23)
- If a child type object is assigned to a generic object field that requires a parent type, the child type will be shown instead of parent (1b0d432)
2.4.4 (2021-02-22)
- Fixed compilation error on build in TypeCache.GetTypesDerivedFrom() (e6a3653)
2.4.3 (2021-02-20)
- Added constraints to test assembly definitions (4ae82a0)
2.4.2 (2021-02-19)
- Replaced the broken dependency dll (4623aef)
2.4.1 (2021-02-19)
- Fixed compilation errors occurring in dependencies (7883825)
2.4.0 (2021-02-15)
- Fixed a few errors in the unit tests (58663ce)
- Fixed built-in types not being replaced when displaying generic type name (f539141)
- Fixed interactive renaming of a scriptable object stopping immediately (f29f6e0)
- Started updating asset title if it was renamed. (066308f)
- Made generated DLLs respect the custom icons set in generic scripts (17b9073)
2.3.0 (2021-02-08)
- Fixed missing method signatures in GenericUnityEditorInternals (37795f5)
- Made generic components show up correctly in UnityEvent UI. (da223f2)
- Made Odin show generic classes correctly in the UnityEvent UI. (b5ce462)
2.2.0 (2021-02-06)
- Added back using statements that are required with GENERIC_UNITY_OBJECTS_DEBUG (4c287e5)
- Allowed label to be null for generic object field (cb10ff3)
- Fixed the missing dependency caused by SolidUtilities update (7aced0c)
- Started adding components to the component menu by their full namespace path (9133ccf)
2.1.0 (2021-01-30)
- Moved GenericUnityObjects folder into Plugins (9cda042)
1.2.0 (2021-01-30)
- Allowed usage of non-serialized types when creating generic UnityEngine Objects and removed the possibility to choose custom namespace name and scripts path when generating concrete types from generic scriptable objects (b66a7e5)
- Removed GenericScriptableObject.CreateInstance(Type genericTypeWithoutTypeParams, params Type[] paramTypes) (a4b7505)
- Improved performance in GenericTypesChecker and DictInitializer (6206842)
- Significantly improved performance in ArgumentsChecker (545b8b5)
1.1.4 (2020-12-03)
- Default file name for a generic SO is now using short type name instead of full one. (7b690b3)
- Disable the warning that appeared after the usage sample is imported (0d0a24b)
- Fixed asset creation menus not appearing immediately after the samples import. (15a8baa)
- Fixed the bug where methods were added to the MenuItems class on editor start and caused compilation errors (f44a920)
- Reduced GenericSODrawer.OnGUI() execution time by using a type cache (5adf695)
- Replaced a method available only in Unity 2020.1+ (ca415b6)
- Started rounding up values of the window position before its creation. (0a05863)
- Started using the correct name of GenericSOPersistentStorage class (92cacc2)
1.1.3 (2020-11-09)
- Added an additional error message when generic scriptable object is instantiated in the field initializer (fc7904e)
- Marked GenericScriptableObject.CreateInstance() as pure method (5903a16)
1.1.2 (2020-11-08)
- ObjectField of a non-generic class derived from GenericScriptableObject works without errors now (a7bec7d)
1.1.1 (2020-11-05)
- Fixed warning about inconsistent new lines in MenuItems.cs (44e5231)
1.1.0 (2020-11-04)
- Added a helper that removes auto-generated code after the GenericScriptableObject class removal (83d6b41)
- The database is now saved to disk when changed (2787414)