Recursive Scriptable Editor

This tool is part of a personal unity package that i have been working on in my free time. As such, if you are curious or want to use some of these tools yourself, you can check the git repo!


In the Unity Engine, an issue that i often encounter is the inability to quickly edit multiple scriptable objects. Often, these scriptable objects are used as settings assets which allow for some form of version management when it comes to balancing the gammeplay loop of the project.

This inability to quickly edit scriptable objects becomes especially apparent when the user creates tens of thousands of scriptable objects that determine behaviours of several systems, such as weapons or enemies, which in turn, slows down iterations and causes development to slow down as seen in this simplified example:

Using Unity's UIToolkit, i created a simple editor script that allows one to recursively edit any scriptable object with the Recursive attribute added, allowing to directly modify nested scriptable objects at will.

Here is a code snippet showcasing how i bind the UIToolkit template with the editor script.

Here is how the end user would be marking a scriptable object to be used for the recursive editor script.

This allows the end user to quickly modify any assigned scriptable object directly from the holder's inspector, essentially skiping the part where the user would have to search for each individual object and instead focus on more important things, such as balancing or iteration:

Previous
Previous

Editor API and Serialization

Next
Next

Debug Console