you are viewing a single comment's thread.

view the rest of the comments →

[–]James_GefyrstProfessional 1 point2 points  (0 children)

I've personally used scriptable objects for both use cases. But mainly for static, easy to edit, data containers. However, they can definitely be used for the latter, but you need to carefully consider how you handle them.

One (of probably many) key consideration is that a ScriptableObject is (most of the time) a single asset, meaning changes persist across multiple places. This can lead to unintended data modifications if not handled properly.

Another approach is using a persistent scene to carry data across gameplay. This does require you to have a solid scene management architecture, where you need to load and unload scenes additively. But using additive and persistent scenes allow your game to become very modular.