Когда ты пишешь такой код, где-то в мире умирает котёнок, не будь извергом!
if (oppAcc == true) {
можно просто
if (oppAcc) {
и что такое oopAcc? Что такое mfb, cfb? Пиши нормально.
playerInfo.skin = 999;
Почему скин 999? Что такое 999? id? Почему не enum? Ну ладно, это мелочи. Что этот код по покупке делает в update? Читаем документацию
https://docs.unity3d.com/ScriptReference/MonoBehav... update вызывается в каждом кадре, у вас будет покупаться очень много вещей, пока переменная oppAcc будет true. Также что вот этот код делает в update?
void Update () {
gold = 10000;
crystals = 10000;
}
Возможно проблема в этом. А может и ещё где-то.