Scriptable Object involvling a List of GameObjects? Question

I am pretty new to unity programming in C# but have 2 years of java programming knowledge, and I was wondering if this application of a scriptable object is correct. FYI just learned about scriptable objects. So i have a scriptable object class that contains a List of type GameObject “public List itemDatabase;”. The idea here is to hold all the items that will be in my 2D game. These GameObjects(prefabs) have an Item script attached to them as well as a sprite renderer. Some of the GameObjects have a weapon script attached to them derived from the Item script(inherited). There will soon be other scripts derived from the Item script. I just wanted to know if this would be a god use of a scriptable object or should I the Item script a scriptable object instead? If I should make the Item script a scriptable object how would that play into the inheritance of Item in the weapon script?

I hope I was clear with what i said, if you have any questions just let me know. Thank you for the help. :slight_smile:

One way I like to think about it is if you have data and/or code, ScriptableObject can make a good choice.
If you have behaviour, stick with Monobehaviour. You can call SOs from monobehaviours, of course, but this is just an easy way to think about what’s a good choice.

As for inheritance, that works perfectly with SOs.

Okay, thank you for the advice.

No problem. :slight_smile: