Какой потрясающий пример ошибки XYZ. Вам не надо вообще все вот это - просто потому, что это неправильное использование PlayerPrefs. Префсы нужны как раз для хранения информации МЕЖДУ запусками. Т.е. их как раз надо на выходе\сворачивании\сейвпоинтах СОХРАНЯТЬ, а при старте игры - ЗАГРУЖАТЬ. Это именно сейвГейм.
А в рамках запущенной игры достаточно все держать в памяти