Что-то нужно сохранять, а что-то - нет. Например, не нужно сохранять капли дождя, которые случайным образом рисуются по всему экрану. Игра не сможет сама догадаться, что нужно, а что - нет, так что именно тебе предстоит всё продумать.
Рассматривай каждый тик (или кадр) игры, как отдельное состояние. Конечно, если игра в реальном времени, а не пошаговая (иначе - каждый "шаг"). Так вот, тебе нужно решить, что войдёт в это состояние, и что не является значимым для геймплея. Например, если ты не хочешь, чтобы игрок "читерил" против рандома, загружаясь много раз и повторяя одни и те же действия, то в сейв должен пойти сид, чтобы при каждой загрузке повторялись бы одни и те же случайные действия. То же касается и анимаций, если они являются частью геймплея, физики.
В общем, тема сложная. Если будешь дальше гуглить, то используй слово "сериализация".
Доки:
docs.unity3d.com/Manual/script-Serialization.html