Elenesski Object Database  EODB and NEODB
The Memento Pattern Database for Unity
10 Model vs View Serialization

In many games, the ability to provide a "save game" feature is important. Developers generally have two ways to implement this ability; saving the model or saving the view.

In our opinion, saving the model is the correct solution because it's more resilient to handling changes to the way the view is represented that are introduced through bug fixes, prototyping, new features, new components and changes to Unity.

Example: Consider a ship flying though space; in which your first version used a game object from one vendor, but as you evolved your game you implemented different models. Any save games based on the view probably no longer make sense. For example:

  • internal references to sub-objects might not be valid any more.
  • the angle of the game object maybe different simply because of where it's center is defined.

Therefore to make all evolutions of the game work, you need to rebuild your view based on it's model representation. This is why computer systems are moving toward model driven such as MVC and MVVM.