Skip to content

Latest commit

 

History

History
590 lines (297 loc) · 33.7 KB

CHANGELOG.md

File metadata and controls

590 lines (297 loc) · 33.7 KB

1.40.0 (2022-07-24)

Bug Fixes

  • Fixed exception when passing null array to ArrayHelper.Add() (38c5068)
  • Improved performance of ListHelper.EmptyList() (bb218be)
  • Resolved a GUID conflict with old SerializableDictionary (a967057)

Features

  • Added SerializedObject.SetHideFlagsPersistently() extension method (0965d89)
  • Switched from GUID to assembly names in asmdefs (67002a9)

1.39.0 (2022-06-07)

Features

  • Added an option to exclude assembly from editor during import (5f7dea7)

1.38.2 (2022-05-19)

Bug Fixes

  • Fixed the issue with editor icons disappearing randomly (fadd6a7)

1.38.1 (2022-05-13)

Bug Fixes

  • Fixed abstract serializable classes not being considered serializable by type.IsUnitySerializable() (7afc0b2)

1.38.0 (2022-05-13)

Bug Fixes

  • Fixed editor icons missing after exiting play mode (4280803)

Features

  • Added Enum.DoesNotContainFlag() extension method (24f68bd)

1.37.1 (2022-05-10)

Bug Fixes

  • Fixed incorrect dependency in SolidUtitlites assembly definition (f8e0bb9)

1.37.0 (2022-05-02)

Bug Fixes

  • Fixed errors related to read-only scenes during build (d8a4220)
  • Fixed the prefabs not being found in ProjectWideSearcher (a916bf1)
  • Replaced buttons of plus-i and plus-s with a less blurry ones (fa7642d)

Features

  • Added ProjectDependencySearcher that searches for SerializedObjects that will be put in a build, or objects that a scene depends upon, etc. (f286e4e)
  • Added ProjectDependencySearcher.GetSerializedObjectsFromOpenScenes() method (a54a6ea)
  • Added ProjectWideSearcher that searches for all SerializedObjects in the project, or in a certain scene, prefab, etc. (ee3da0b)
  • Added SerializedPropertyHelper.FindPropertiesOfType() (fc61190)

1.36.2 (2022-03-15)

Bug Fixes

  • Fixed ReadOnlySpan not being found in Unity 2020.3 and lower (b2cc6b2)

1.36.1 (2022-03-12)

Bug Fixes

  • Fixed the compilation error when installing SolidUtilities without Stytem.Runtime.CompilerServices (b447e9c)

1.36.0 (2022-02-12)

Features

  • Added EditorHelper.ForceRebuildInspectors() (8121c2e)
  • Added TypeHelper.GetNiceNameOfGenericType() method (2052bcd)

1.35.0 (2022-02-03)

Bug Fixes

  • Fixed unnecessary garbage allocations in ListHelper.Empty (8a09a55)
  • Removed the unnecessary requirement for serializable types to have at least one serialized field (da8e3bf)

Features

  • Added an optional icon argument to GUIContentHelper.Temp() (ede56bd)
  • Added AssemblyGeneration class useful for generating assemblies that are not supposed to be auto-referenced (3b30b54)
  • Added AssetDatabaseHelper.DisabledScope() for disabling asset database temporarily (4727f9d)
  • Added AssetDatabaseHelper.GetUniqueGUID() method (b644fd8)
  • Added DrawerWithModes property drawer (2ebe4e7)
  • Added Enumerable.SelectWhere() extension method (02c02c9)
  • Added IEnumerable interface for ReadOnlySpan and Split() extension method (6b6241d)
  • Added new icons to EditorIcons: AddButtonS and AddButtonI (8c19edf)
  • Added SerializedProperty.GetParent(), GetObjectType, GetFieldInfo, GetObject methods (ce3394a)
  • Added string.GetSubstringBefore(char character) extension method (79ef45e)
  • Added the ArrayHelper class with methods that allow changing the size of the array (cebdd0f)
  • Added the EditorHelper.GetCurrentMousePosition() method (8d154df)
  • Added the GUIContentHelper.Temp(text, tooltip) method (585544d)
  • Added the string.GetSubstringBeforeLast extension method (cd45460)

1.34.0 (2021-11-21)

Features

  • Replaced KeysCollection and ValuesCollection in FastIterationDictionary with IKeysValuesHolder interface (4bd56af)

1.33.1 (2021-10-22)

Bug Fixes

  • Fixed MissingReferenceException on MacOS (16a2fd3)

1.33.0 (2021-10-13)

Features

  • Added the Rect.Contains(Rect otherRect) extension method (b860bc5)

1.32.2 (2021-09-29)

Bug Fixes

  • Fixed MissingReferenceException sometimes being reported in EditorIcons on MacOS (a363c70)

1.32.1 (2021-09-26)

Bug Fixes

  • Fixed the correct type not being found in MonoScript if the class was not the first in the file (4703bb0)

1.32.0 (2021-08-28)

Features

  • Added ability to draw additional fields in the build settings window (f6ba5e9)

1.31.0 (2021-08-22)

Bug Fixes

  • Moved StackTraceHelper to the Editor assembly (e2292ca)

Features

  • Added EditorGUILayoutHelper.DrawErrorMessage() (ff8c94e)
  • Added ICollection.AddIfMissing() extension method (6e8b360)
  • Added ListHelper.Empty() method (b8d29c0)
  • Added PlayModeSaver - utility that allows saving select component fields into edit mode (ac9b1fd)
  • Added StackTraceHelper.EnvironmentToUnityStyle() and AddLinks() methods (38d11e9)
  • Added string.IndexOfNth() extension method (741fbbe)
  • Refactored DrawHelpers and moved their methods to classes with more familiar names (262d982)

1.30.0 (2021-06-20)

Features

  • Added PathHelper.MakeRelative() and PathHelper.IsSubPathOf() methods (7f9803f)
  • Added ProjectWindowUtilProxy.GetActiveFolderPath() method (fae929f)

1.29.0 (2021-04-30)

Bug Fixes

  • Fixed MissingMethodException when using DelayedPropertyField in Unity 2021 (a5bfb94)

Features

  • Added a SerializedProperty.GetFieldInfoAndType() extension method (ff2af73)
  • Added DelayedPropertyField(Rect, SerializedProperty, GUIContent, bool) method (414909d)
  • Added EditorDrawHelper.LabelWidth disposable struct (fb07ef9)
  • Added EditorGUIHelper.HasKeyboardFocus(int controlID) method (9428a87)
  • Added IDelayable interface that can be used on custom PropertyDrawers to be drawn as delayable (9a573ac)
  • Added Rect.ShiftLinesDown(int linesNum) method (9c95b8a)
  • Replaced Rect.ShiftLindesDown with Rect.ShiftOneLineDown method (0c048a9)

1.28.2 (2021-04-15)

Performance Improvements

  • Reduced garbage allocation in the Object.DeepCopy() method (4184431)

1.28.1 (2021-04-15)

Bug Fixes

  • Fixed MissingMethodException when calling EditorGUILayoutHelper.DelayedPropertyField() (05b1a00)

1.28.0 (2021-03-19)

Features

  • Added Dictionary.TryGetTypedValue method (1459966)
  • Added the iterationCount parameter to Timer (a7e6c92)

1.27.0 (2021-03-01)

Bug Fixes

  • Fixed compilation errors in Enum.ContainsFlag for C# 7.0 and below (4cf1c63)

Features

  • Added ReplaceDefaultDrawer method (67c6f8e)

1.26.1 (2021-02-19)

Bug Fixes

  • Removed 2020 suffix from UnityEditorInternals (ae579b5)
  • Removed a duplicate using statement (1fda48e)

1.26.0 (2021-02-15)

Features

  • Added SerializedProperty.HasCustomPropertyDrawer() method (101a14a)

1.25.0 (2021-02-10)

Features

  • Added EditorDrawHelper.DelayedPropertyField method (c18ce85)
  • Added object.ShallowCopy() and object.DeepCopy() methods (0afac69)

1.24.0 (2021-02-01)

Features

  • Added EditorDrawHelper.IndentLevel disposable struct (2a82ec8)

1.23.1 (2021-02-01)

Bug Fixes

  • Fixed "type 'MonoScript' is defined in a not referenced assembly" in Unity 2019 (8d2b747)

1.23.0 (2021-01-30)

Bug Fixes

  • Fixed the class regex to find generic classes even if they derive or implement an interface (87e3197)
  • Started handling assembly-loading exceptions in MonoScript.GetClassType() (eb999ac)

Features

  • Added ArrayEqualityComparer - a generic EqualityComparer for arrays (732130d)
  • Added AssetDatabaseHelper.GetTypeFromGUID() method (f3317ed)
  • Added AssetSearcher.GetAssetDetails and GetMonoScriptFromType methods (d18e9fb)
  • Added AssetSearcher.GetClassGUID(Type) method (593861a)
  • Added DLLs with access to Unity internal types and methods (f382686)
  • Added EditorGUIUtilityProxy.GetMainWindowPosition() method for Unity under 2020.1 (75213b7)
  • Added enum.ContainsFlag() method (514456c)
  • Added FastIterationDictionary that allows for faster iteration over it at a cost of larger memory footprint (f41f89c)
  • Added HashSet.SetEqualsArray and HashSet.SetEqualsList methods (2337b49)
  • Added HashSet.ExceptWithAndCreateNew() and IntersectWithAndCreateNew() methods (b287d0e)
  • Added LogHelper.Clear() and LogHelper.GetCountByType() methods (e6fa771)
  • Added LogHelper.GetCount() method that returns the total number of log entries in the console (deda0d5)
  • Added string.CountSubstrings() extension method (37ba570)
  • Added string.GetSubstringAfterLast(char) method (6722b57)
  • Added string.ReplaceWithBuiltInName() extension method for type names. (a89fbbf)
  • Added the LogHelper.RemoveLogEntriesByMode() method (8af2a23)
  • Added Type.GetShortAssemblyName method (356bdca)
  • Added Type.HasAttribute() method (3789b29)
  • AssetSearcher.GetClassGUID() can now find GUID of a generic type even if the script does not have generic suffix in its name (e1ce428)
  • Made MonoScript.GetClassType() work with custom non-generic classes (842c17a)
  • Made StripGenericSuffix work only for the type names that contain backlash (1c6add8)
  • Moved HasAttribute() from Type extensions to MemberInfo extensions (d730d34)
  • Removed AssetCreator class (8a874e2)
  • Removed IEnumerable.ForEach method (2f8ec6e)
  • Replaced EditorDrawHelper DrawInScrollView and DrawVertically methods with ScrollView and VerticalBlock structs (0aaaf3e)

Performance Improvements

  • Got rid of some unnecessary memory allocations (a6b6464)
  • Improved performance of AssetSearcher.GetClassGUID() (27c8f57)
  • Made class regex a compiled static field member. (f8f2eeb)
  • Removed an accidental NUnit using statement (62a6640)
  • Started using Internals DLLs instead of reflection to access Unity internal members (f44732f)

1.22.1 (2020-12-17)

Bug Fixes

  • Fixed NullReferenceException when opening a drop-down with no types available (9f9628b)

1.22.0 (2020-12-10)

Features

  • Added string.MakeClassFriendly() and string.StripGenericSuffix() methods (e8a7036)

1.21.1 (2020-12-04)

Bug Fixes

  • Fixed assertion error when generic object field is used in a custom serialized class (e4894bb)

1.21.0 (2020-12-04)

Bug Fixes

  • Fixed assertion error when private GenericSO field is used in the parent class of a MonoBehaviour (f32fd7b)

Features

  • Added the Type.GetFieldRecursive method to search for a field in the whole class hierarchy (f956fec)

1.20.2 (2020-12-03)

Bug Fixes

  • Fixed the ArgumentException when using ResizableTextArea attribute (4263516)

1.20.1 (2020-12-02)

Bug Fixes

  • Started initializing GUIStyles in properties instead of field initializers (a77f9f6)

1.20.0 (2020-12-02)

Features

  • Added the Vector2.RoundUp() method (c57a9fa)

1.19.0 (2020-12-02)

Features

  • Added AssetSearcher.FindObjectsWithValue() that searches for assets and scene objects that contains a variable with a certain value. (33a3872)
  • Added RegexExtensions class with its first method - Find() (d2b501e)
  • Added RelativeToAbsolutePath and GUIDToAbsolutePath methods (8ad53bd)

1.18.3 (2020-12-01)

Bug Fixes

  • Fixed the missing right border in EditorDrawHelper.DrawBorders() (4a9a8b8)

1.18.2 (2020-11-30)

Bug Fixes

  • Moved GetMainWindowPosition to EditorDrawHelper and fixed incorrect preprocessor directives (2838d6a)
  • Moved the GetAllDerivedTypes method to EditorDrawHelper (cbc143c)

1.18.1 (2020-11-29)

Bug Fixes

  • hid all instances EditorGUIUtility.GetMainWindowPosition() under the #if preprocessor directive (a834cea)

1.18.0 (2020-11-27)

Bug Fixes

  • Made SerializedProperty.GetObjectType work with custom serializable classes (f385e1e)
  • Started using a more reliable method to check if EditorWindow is overflowing the screen (e23abce)
  • Started using correct indent level in DrawWithIndentLevel() (9b43825)

Features

  • Added new EditorDrawHelper.DrawWithIndentLevel() method (cad369c)
  • Added ResizableTextArea attribute (23664a5)
  • Added the CreateEditor() method (94b4c02)
  • Added the GetScreenWidth method to calculate the sum of screen widths if multiple displays are used. (1c3243b)

1.17.1 (2020-11-08)

Bug Fixes

  • Replaced triangle_right_16.png to avoid errors for some users (a78106a)

1.17.0 (2020-11-08)

Features

  • Made ChildProperties iterate over visible properies only by default (b25f81a)

1.16.0 (2020-11-07)

Features

  • ChildProperties now does not iterate over built-in properties by default (5bf6a03)

1.15.0 (2020-11-04)

Features

  • Added IEnumerable.ToHashSet() method (3422287)

1.14.0 (2020-10-29)

Features

  • Made SerializedProperty.GetObjectType work with the collection fields (d81529b)

1.13.0 (2020-10-28)

Features

  • Added SerializedProperty.GetObjectType and EditorDrawHelper.InPropertyWrapper methods (6d031f7)

1.12.0 (2020-10-27)

Bug Fixes

  • resolved the issue with absent EditorGUIUtility.GetMainWindowPosition on older Unity versions (d47fc21)

Features

  • Added Hash.SHA1 method (f7fb534)
  • Added PackageSearcher.FindPackageByName method (d028c84)
  • Added the DrawHelper.WidthDisabledGUI method (58e72c2)
  • Added the ReadOnly attribute (7b5f46d)

1.11.0 (2020-10-22)

Features

  • Added the string.IsValidPath method (63cef87)

1.10.0 (2020-10-20)

Features

  • Added Type.IsEmpty method (d9d3978)

1.9.0 (2020-10-20)

Features

  • Added two new extension methods: MonoScript.GetClassType and MonoScript.GetNamespaceName (c55fc09)

1.8.1 (2020-10-18)

Bug Fixes

  • AssetCreator no longer exists rename mode as soon as the asset is created (406f910)

1.8.0 (2020-10-15)

Bug Fixes

  • Added handling of different rect sizes for Vector2.Center() (3084c57)

Features

  • Added EditorWindow.CenterOnMainWin method (3c94dad)
  • Added Vector2.Center(Rect outerRect) method (0d23827)

1.7.1 (2020-10-13)

Bug Fixes

  • Removed static modifiers from local methods for C#7 compatibility (35a1496)

1.7.0 (2020-10-12)

Bug Fixes

  • Corrected the IsUnitySerializable method so that it doesn't include serializable classes from the System namespace (fa83be9)

Features

  • Added TypeExtensions.IsUnitySerializable method (70e1443)

1.6.0 (2020-10-10)

Features

  • Added MakeSureIsGenericTypeDefinition Type extension method. (2bc1f86)

1.5.0 (2020-10-08)

Features

  • Added EditorWindow.MoveOutOfScreen and AssetDatabaseHelper.MakeSureFolderExists (d5ff96e)

1.4.0 (2020-10-07)

Features

  • Added AssetCreator, a wrapper of ProjectWindowUtil.CreateAsset() (7335615)

1.3.0 (2020-10-06)

Features

  • Added a measure unit choice for Timer.LogTime() (7d61f96)

1.2.1 (2020-10-04)

Bug Fixes

  • Made -1 the default value of Resize() instead of 0 (58f15e6)

1.2.0 (2020-10-04)

Features

  • Added new method FloatExtensions.DoesNotEqualApproximately() (dba7056)

1.1.0 (2020-10-03)

Features

  • Added EditorWindowExtensions and its first method - Resize (59781b0)