Overview
Scriptable Object Database is the best way to organize and manage your scriptable objects in Unity, forget about trying to organize your scriptable objects by hand with complicated folder structures, with this tool you can create as many scriptable objects as you need contained in a single object, a nice and easy to extend editor window to edit/create your scriptable objects and a custom dropdown to select those objects when you want to reference it from your scripts.
Creating a Database
In this example, we are going to create a new database to store the items of a sample RPG game, to start, create a new script to represent the element you want to store in the database, in our case a new class name ItemDefinition with all the properties we need for our new item and extend from ScriptableItem.
Next create a script to represent the database, a new class name ItemDefinitionDatabase and extend from ScriptableItemDatabase, pass the type of element you want to store, in our case we want to store only ItemDefinition element types so e use ScriptableDatabase<ItemDefinition>.
Create Custom Editors
Now let's create our custom editors, we need two custom editors, one for the database itself and another for the item we want to store in the database.
Create Custom Editor Window
Something cool about scriptable object database is that it comes with an easy to create and extend editor window so that you can edit and create all your objects in one place.
Custom Database Selector
Forget about looking through your entire project for that one object, the scriptable object database comes with an awesome dropdown where you can pick the object you need from a database.
Also if you want to edit the object you have selected, just click the arrow next to the selector and it opens the editor, is not that cool!?
Creating Multiple Objects Types
In some cases you may want to create different object types that extend from a base type, for example, let's say you want to create a weapon in your item database, just create a new class extend from ItemDefinition and add your custom Weapon logic and fields and don't forget to create a custom editor too.