А зачем вам обращаться из класса к любому объекту на сцене? Этот вопрос сразу видится некорректным, потому что я с трудом представляю такие ситуации, когда ОДИН класс должен иметь связь со ВСЕМИ объектами. Эти объекты ВСЕ однотипны?
Я навскидку вижу два пути.
1. Если вам нужно, чтобы одинаковый код отрабатывал для нескольких геймобжектов, например, когда те появляются на сцене (это могут быть разные моменты), то можно повесить один и тот же скрипит на все необходимые GO. Скрипт будет обращаться к GO, на котором висит и будет что-то там изменять или контролировать. Чаще всего, это что-то поведенческое. Поведение моба, эффекта и т.д.
2. У вас будет некий контроллер со списком объектов, которые он контролирует. И контроллер, получая информацию от системы, будет решать, какой объект и что должен делать ("убить", поставить на паузу, заспавнить что-то и т.д.).
В качестве дополнения. Если вам нужен некий контроллер, который должен быть доступен из разных участков проекта, то его делают синглтоном, как вариант. Этот контроллер занят важными делами, например, контролирует состояние игры (playing, pause, starting и т.д.) и переключает его. И у него другие скрипты могут уточнить, а что там вообще у нас? Пауза? А, ну тогда я не буду спавнить свои эффекты/делать другие локальные штуки.