Serialize Reference Editor
Makar Osokin
$0.0
(no ratings)
Date |
Price |
---|---|
Date |
Price($) |
10/25(2024) |
0.0 |
11/21(2024) |
0.0 |
Jump AssetStore
Convenient proprty drawer for fields marked with the SerializeReference attribute for serializing custom data types into Prefabs and Scriptable Objects.Serialize Reference Editor is a powerful tool for advanced object editing in Unity, significantly simplifying the work with serialized data. The asset allows for convenient editing of objects marked with the SerializeReference attribute, using SRAttribute and SRNameAttribute, providing flexibility when working with complex data types and enhancing their display in the inspector. This is especially important as Unity lacks a built-in editor for working with such data types.Serialize Reference Editor supports editing lists, arrays, and individual elements, as well as customizing type names and hierarchy, making it easier to search and edit data. Additional features include creating rules for processing objects, allowing for customization of behavior when creating instances.The MissingTypesValidator tool helps to find missing types and prevent errors caused by deleted data. Serialize Reference Editor is ideal for developers working with complex serialized structures who want to improve the convenience and efficiency of their editing.Compatible with Unity 2021.3 or later.Main typesSRAttributeUse it to mark the fields that you want to edit. Important note - they should also be marked with the SerializeReference attribute. You can mark the base type (including the interface) with it.Allows you to change an array, a list, and a single element. Displays the current field type.Example:[SerializeReference][SR]public List DataList = new List();Additional featuresYou can override SRAttribute and implement a rule for processing instantiated objects.You can see an example in SRDemoAttribute.cs, where the `OnCreate` method was overriden:public override void OnCreate(object instance){if(instance is AbstractData){((AbstractData)instance).DataName = instance.GetType().Name;}}SRNameAttributeMark classes with them if you want to customize the display name and nesting hierarchy in the search tree for a specific type.Example:[SRName("Data/Simple types/Float")]public class FloatData : AbstractData{[Range(0f, 1f)]public float Float;}You can modify the display settings for the class name without specifying an attribute by navigating to `Edit -> Project Settings -> SREditor`.ToolsMissingTypesValidatorYou can use the built-in tool to search for lost types.(this error occurs if the serialized data stores information about a type that no longer exists and could have been deleted during development). To start, you can run`Tools -> SREditor -> Check MissingTypes`> At least one `SRMissingTypesValidatorConfig` is required to work.If necessary, you can implement your own `IAssetMissingTypeReport` for errorreporting if you use it in CI/CD systems.You can also implement your own `IAssetsLoader` if the default `LoadAllScriptableObjects` is not suitable for you.Support Unity 2021.3 or later.The package icon base is generated in Stable Diffusion.The package description is translated into English using Claude Sonnet and Chat GPT.