Survival game loot. Scriptable object or not ?

Depending on the complexity of the item system you have planned, you’ll most likely be using a combination of both. In my current project (a survival-craft esque game), the raw immutable data of an item is stored in SO’s, of which are stored inside plain serialisable C# classes to manage any mutable data. I went on a big ramble about it here.

Keep in mind that item and inventory systems are a huge rabbit hole, so don’t get too lost in them. They also heavily benefit from custom editor work, so be prepared to spend the time learning editor code, or think about investing in certain addons from the asset store.

Nonetheless, scriptable objects are good for item systems, and one of their strong suits. They’re designer friendly compared to plain classes and have a number of other benefits to go with it.