How can I use scriptable objects or classes for reusable data in my game?

I followed a few tutorials that implied I would be able to use scriptable objects to create assets that could be referenced later within my game. I created a few scripts that defined a class, a way to instantiate assets from the class from within the editor, and another script to create assets to track all the assets created from the first class.

How do I access the created assets? Example. I am trying to create weapons all using the same attributes. They aren’t physically in game, but I need to be able to access the values for things such as inventory or vendor. I have tried scriptable objects and classes without success. Any tips or links to tutorials or videos would be helpful.

I did not figure out how to use scriptable objects for anything other than editor manipulation. Any help or incites would be welcomed.

I wound up re-writing my code to use Lists<> to implement my equipment classes. This allows me to manipulate the data in a way similar to what I was hoping for with the scriptable object assets.

Here you go:

I usually use:
public static Object[] LoadAll<T>(string path);

And pass in T as MyScriptableObjectClass.

Just make sure they’re in the Resources folder!