A custom Unity Editor tool designed to streamline the process of viewing and editing multiple ScriptableObjects (SOs) in a single window. This editor allows you to display ScriptableObjects of the same type side-by-side for quick comparison and modification, as well as list different types of ScriptableObjects vertically in a structured layout.
- Side-by-Side Editing: View and edit multiple ScriptableObjects of the same type in a single window for faster workflows.
- Multi-Type Support: Display different types of ScriptableObjects in a vertical list for easy access.
- Basic Filters: Easily switch between viewing configurations and types.
- Intuitive Interface: Built with Unity's Editor API for a seamless integration into your Unity projects.
- Adding and Removing ScriptableObjects
- Ability to switch between vertical and horizontal table layout
- Advanced Filtering Options
- Search options
- Data operations (copy, paste)
- Tool menu options
- Dynamic ScriptableObject Loading:
A functionality to dynamically locate and load ScriptableObjects within the project, removing the dependency on a specific folder structure (e.g., Assets/Resources/ScriptableObjects/).
- Install the
.unitypackage
file from latest release. - Open Unity and go to
Assets > import package > custom package
menu and select the.unitypackage
file. - Import the package.
- For this version, your ScriptableObjects must be placed in the
Assets/Resources/ScriptableObjects/
folder (the program will automatically fetch all ScriptableObjects from this directory). - In Unity, go to the Window menu and find the new "Game Config Editor" window.
- Copy and paste the script located at
Assets/Editor/Editor Windows/ScriptableObjectEditorWindow.cs
into your Unity project'sAssets/Editor
folder. - If you want the icons to appear in the editor window, copy only the Icons folder from
Assets/Editor/Editor Windows/Icons
into your project'sAssets/Editor/Editor Windows
directory. Alternatively, you can clone this repository and move the Assets/Editor/Editor Windows folder as-is, but make sure to avoid overwriting existing scripts if you've customized them. - For this version, your ScriptableObjects must be placed in the
Assets/Resources/ScriptableObjects/
folder (the program will automatically fetch all ScriptableObjects from this directory). - In Unity, go to the Window menu and find the new "Game Config Editor" window.
- Open the Editor Window:
- Navigate to the Unity menu and open the "Game Configuration Editor" window.
- Select Config Types:
- Click the filter button and choose the ScriptableObject types you want to see.
- Edit Side-by-Side:
- For the selected types, view multiple instances side-by-side.
- Modify fields such as
int
,string
,vector3
,gameObject
,array
,enum
etc., directly in the editor.
- Refresh and Filter:
- Use the "Refresh" button to reload the ScriptableObjects and the "Filter" option to narrow down your selection.
In the screenshot below, you can see two TestSO
ScriptableObjects (TestConfig
and TestConfig1
) being edited side-by-side. Fields like number
, text
, position
, and references to GameObject
, Transform
, or Material
are displayed for quick modification.
Feel free to fork this repository and submit pull requests with improvements or bug fixes. If you encounter any issues, please open an issue on GitHub.
This project is licensed under the MIT License - see the LICENSE file for details.