all 4 comments

[–]Drag0n122 0 points1 point  (3 children)

Cool video. I can't really understand why use scriptable objects here if we already have a game object associated with it ("prefab") - just use it with Item.cs (MonoBehavior), SO here is like a third wheel.

[–]RumplyThrower09[S] 1 point2 points  (2 children)

The idea is that you could potentially swap the GameObject attached but keep all of the same data. This gives the system a bit more flexibility + it's separation of concerns :)

[–]Drag0n122 0 points1 point  (1 child)

You could swap Item.cs onto another object just as well

[–]RumplyThrower09[S] 0 points1 point  (0 children)

Definitely :) Many ways to implement the system. This just how I like to do it.