Помимо playerPrefs, другой грязный способ заключается в том, чтобы сохранить объект во время загрузки уровня, вызывая DontDestroyOnLoad на нем.
DontDestroyOnLoad (transform.gameObject);
Любой скрипт, прикрепленный к игровому объекту, сохранится, а также переменные в скрипте. Функция DontDestroyOnLoad обычно используется для сохранения целого GameObject, включая прикрепленные к нему компоненты, и любые дочерние объекты, которые он имеет в иерархии.
Вы можете создать пустой GameObject и поместить только скрипт, содержащий переменные, которые вы хотите сохранить на нем.
Установка MigrationsAssembly просто сообщает контексту, где найти сборку миграций, вам все равно нужно подробно запускать ее (много раз вы не хотите запускать миграции каждый раз, когда запускаете приложение). Вам нужно позвонить
myDbContext.Database.Migrate();
Для выполнения миграции.
https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/#apply-migrations-at-runtime