Согласен, что статические переменные это не всегда корошо).
Можно делать так:
public class Global : MonoBehaviour
{
public static Global singleton;
void Awake()
{
singleton = this;
}
public int someVariable;
}
потом из любого кода можно обратиться к переменным в скрипте Global, который висит в сцене как Global.singleton.someVariable