Ответы Mail.ru: Где тут ошибка в коде?

В коде нет ошибки, но функция GetFirst() не выполняется. Это происходит потому, что в методе Start() выполняется проверка, которая определяет, может ли игрок получить достижение. Если условие не выполнено, то функция GetFirst() не вызывается.

Чтобы решить эту проблему, вам нужно изменить условие в методе Start(). Вместо проверки на условие total_money <= 10, вам нужно проверить, достиг ли игрок необходимое количество очков для получения достижения.

Например, вы можете изменить условие на:

 if (total_money >= 10 && !isFirst) 
{ 
firstAch.interactable = true; 
} 
else 
{ 
firstAch.interactable = false; 
StartCoroutine(IdleFarm()); 
} 

Это изменение условия поможет вызывать функцию GetFirst() и получать достижение, когда игрок накопит необходимое количество очков.