{"repo":"GieziJo/ScriptableObjectVariant","free":true,"listed":false,"github":"https://github.com/GieziJo/ScriptableObjectVariant","clone":"git clone https://github.com/GieziJo/ScriptableObjectVariant.git","description":"Adds the \"SOVariant\" attribute to a ScriptableObject and override, or not, certain fields (similar to prefab variants but for scriptable objects).","language":"C#","stars":69,"topics":["unity3d","scriptableobject","inspector","odin-inspector"],"license":"MIT","category":"game-templates","readme_excerpt":"Scriptable Object Variant for Unity (Scriptable Object Data Overrider) [!CAUTION] If you are upgrading from a pre- 2.0.0 version, please read the upgrade section Table of contents - Description - Usage - Implementation - Installation - Upgrading to 2.0.0 from previous versions - Known issues and tweaks to be made Description Adds a field to any scriptable object tagged with the [SOVariant] attribute that lets you select an original SO (parent) and override selected fields in the child object. When changing values in the original, values are automagically propagated to the children. Usage Add the tag [SOVariant] before the class header of any ScriptableObject class you want to be overridable, i.e. to be able to create a variant of. Example: Create Scriptable Object Variant from context menu In Unity, you can right click any scriptable object tagged SOVariant to create a variant of this object ( Create Create SO Variant ). The new object will have the selected object as parent. Advanced usage in Editor Script A helper script has been implemented ( SOVariantHelper.cs ) which allows you to changed parents, override states and values from within other editor scripts. Set a new parent: Set a field overridable: Set a new value of a field (automatically propagates to children): Set a filed to be overridden and set new value (automatically propagates to children): Set a parent and set new overridden value (automatically propagates to children): Set a parent and set new overridden valu","default_branch":null,"files":null,"tree":[],"storefront":"/r/GieziJo","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/GieziJo/ScriptableObjectVariant/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}