Commit a generic save and restore behavior, which saves and restores all public fields (no properties) of all other Behaviours attached to the GameObject.

Saving and loading is controlled through static variables. One limitation: They must not be changed on LateUpdate.