Improve Your Workflow with Custom Property Drawers & UI Toolkit
Published: 21 Mar 2023
Something a lot of newer developers don't spend any time on is improving their workflow. Learn how you can write custom property drawers in UI Toolkit to improve your workflow when dealing with complex object relationships in the Editor!
Featuring @samyam 's "Who Me!" ๐
UI Toolkit is the new UI system that takes a lot of guidance from web-based development. It's the recommended UI System to use starting with Unity 2022 for editor scripting! With the upcoming LTS release of Unity 2022, this is a great time to start learning this new system.
In the Gun Scriptable Object Series - https://www.youtube.com/watch?v=E-vIMamyORg&list=PLllNmP7eq6TQJjgKJ6FKcNFfRREe_L6to we've already created a Gun Scriptable Object that has references to several other Scriptable Objects. That is a great separation of concerns, but in the Unity Editor it's a big pain to deal with these configurations. In this video I show you the implementation for a custom property drawer for the Shoot Config that allows us to easily create Scriptable Objects and edit the configuration for the Shoot Config, all within the Gun Scriptable Object inspector. This saves a lot of time and makes it much more clear what the configuration of a particular gun is!
๐ Looking for the Odin Inspector? https://assetstore.unity.com/packages/tools/utilities/odin-inspector-and-serializer-89041?aid=1101l9QvC
๐จโ๐ป As always, all code from this video is available on GitHub: https://github.com/llamacademy/scriptable-object-based-guns/tree/ui-toolkit-editor
๐ท๏ธSave 25% on the ultimate C# IDE: JetBrains Rider with code LLAMACADEMY: https://www.jetbrains.com/store/?section=personal&billing=yearly
๐ Resources:
โซ UI Toolkit - https://docs.unity3d.com/2022.2/Documentation/Manual/UIElements.html
โซ UI Toolkit Custom Inspector - https://docs.unity3d.com/2022.2/Documentation/Manual/UIE-HowTo-CreateCustomInspector.html
โซ Serialized Objects - https://docs.unity3d.com/ScriptReference/SerializedObject.html
โซ Serialized Properties - https://docs.unity3d.com/ScriptReference/SerializedProperty.html
โซ Property Drawer - https://docs.unity3d.com/ScriptReference/PropertyDrawer.html
โซ USS - https://docs.unity3d.com/2022.2/Documentation/Manual/UIE-USS.html
โซ Visual Element - https://docs.unity3d.com/ScriptReference/UIElements.VisualElement.html
๐งก Believe in LlamAcademy's mission and have received value from the videos? Here's how you can show your support:
๐ Patreon: https://www.patreon.com/llamacademy
๐ YouTube Member: https://www.youtube.com/channel/UCnWm6pMD38R1E2vCAByGb6w/join or click the Join button on any video
๐ Take my Unity ShaderGraph Course:
https://www.gamedev.tv/p/unity-shader-graph?affcode=45216_kuvg0bp7
๐ Get yourself some LlamAcademy merch: https://llamacademy.myspreadshop.com/
๐ธ Use my Affiliate Link for Humble Bundles https://humblebundleinc.sjv.io/9g4ak4
๐ธ Publisher Sale! 50% OFF an entire publisher's Assets! Publisher changes weekly! https://assetstore.unity.com/publisher-sale?aid=1101l9QvC (affiliate)
๐ธ Save up to 50% on NEW Assets: https://assetstore.unity.com/?new_sale=true&orderBy=1&aid=1101l9QvC (affiliate)
Some links may be affiliate links, which at no additional cost to you, gives me a small portion of the purchase.