Asset Variants
Manamongods
$15.00
(no ratings)
Date |
Price |
---|---|
日期和时间 |
价钱($) |
07/18(2022) |
15.0 |
07/18(2022) |
13.5 |
08/02(2022) |
15.0 |
11/17(2024) |
15.0 |
Jump AssetStore
Asset Variants brings prefab-like inheritance to (almost) any asset, such as ScriptableObjects and Materials, removing a burden variation can give to your workflow.Features:Variants for (the SerializedProperties of):ScriptableObjects (for example TextMesh Pro assets),Materials (even in versions older than Unity 2022.1),TextureImporters, ModelImporters, PhysicsMaterials, AnimationClip, ...Etc. (almost any asset type)Support for Odin serialized properties.Allows Lists/Arrays/delimited strings to be treated as if they are Dictionaries/HashSets.Assigning a parent asset will automatically create overrides from differences.Support for IMGUI and UIElements inspectors (including custom ones), as well as Odin Inspector.Easy to use control over the specific scope of an override.Revert/Apply to Parent/Create Override/Create Override Keep Children/Clean Up Overrides/etc. context menu items.Support for any type of parent asset (polymorphic or even entirely unrelated types are allowed). Any shared SerializedProperty path names will be considered. (A matching path Vector4 field and Vector2 field for parent/child or child/parent will copy the x and y fields, ignoring the z and w of the Vector4).[FormerlySerializedAs(oldName)] will be checked in order to rename overrides.Settings to customize the user interface and behaviour in general.Full source code.Requirements & Limitations:The data that can be inherited and overridden are only SerializedProperties (and InspectorProperties in Odin's case). It can't for example copy underlying texture data.Prior usage of AssetImporter.userData will need to switch over to SharedUserDataUtility.GetUserData()/SetUserData(). A copy of SharedUserDataUtility can be found at: https://github.com/Steffenvy/SharedUserDataUtilityPlease note:The code is dependent on the internal Unity API. For betas or new releases, this might require an update to become functional again.A SerializedProperty that works well with a variant system and a SerializedProperty that does not, can be indistinguishable from each other to anything except a human that rationalizes the purpose of the property. Asset Variants by default allows any* asset to be a parent/child and almost any* property to be copied from parent to child (given that it's not overridden). (*some blacklistings have already been made). Ones that are problematic should be blacklisted, and I alone can't find all of them, especially for third party assets I do not own, and possibly as well for built-in asset types whose behaviour as a variant only becomes problematic when used in a highly complex environment that is infeasible for me to fabricate.If you assign a parent to an asset and it begins exhibiting improper behaviour, please contact me at precisioncats@outlook.com, or if you're the developer of a third party ScriptableObject type, I would be very grateful if you would create the blacklistings directly in your own asset, in a preprocessor block.