Search Unity

Open discussion, SO's vs plain data classes/config files for gameplay affecting data

Discussion in 'Open Projects' started by Warptobelt1, Dec 19, 2020.

  1. Warptobelt1

    Warptobelt1

    Joined:
    Apr 14, 2020
    Posts:
    4
    Hello everyone,

    This is an open discussion about the use of plain data classes and json config files over Scriptable Objects for gameplay affecting data (from basic gpp stuff, like speed, hp, damage to complex things like Abilities or UIs or to some extent even visual data if the config support providing the prefab/bundle name)
    Disclaimer: i love scriptable objects and write wrappers that read/write from/to a json file since i have the editor open all the time

    Context: In day to day practice i noticed among my peers(again not generalizing) that regardeless of how fancy the tools you provide, fellow game designers will always prefer the ahead-of-its-time piece of technology that is: Microsoft Excel.
    It give them the ability to change gameplay affecting data and test/tweak/create content directly in the latest stable build itself, without even the need to have the editor installed in their machine. Adds to that the ease of patching for live games.

    Downside in game architecture:
    Game requires a single point of entry that loads those config files, and ideally bind them to a DI container where data models will be resolved by their id or whatever.

    What do you all think ? and are you using similar architecture in production ?
     
  2. Harsh-NJ

    Harsh-NJ

    Joined:
    May 1, 2020
    Posts:
    315
    Yes, I like ScriptableObjects for storing runtime data and serializing them to data files for saving them (game save)