возник вопрос связанный с оптимизацией игры
мне НЕ нужно оптимизировать скрипт
Думаю сначала нужно определиться с тем что тебе нужно. Переменную можно передавать по разному, если это глобальная переменная проще всего сделать ее статичной и обращается на прямую, а не рыскать ее через компоненты, если она не глобальна и объект на котором висит скрипт не дохнет каждые 5 секунд, то как писали выше достаточно закешировать скрипт и обращаться сколько угодно.
Пример глобальной переменной:
Используется csharp
// script1
public static int totalScore;
// script2 (обращение)
script1.totalScore += 10;
Пример НЕ глобальной переменной:
Используется csharp
// script1
public int totalScore;
// script2 (кеш + обращение)
script1 scr1;
void Start()
{
scr1 = GameObject.Find("Object1").GetComponent<script1>();
}
void Update()
{
scr1.totalScore += 10;
}