В целом это вопрос т.н. dependency injection - это долгая дискуссия, но если у тебя в сцене только по одному экземпляру нужных скриптов, то есть подход который практически такой же как и твоя идея - создать класс SceneContext и в него положить нужные тебе скрипты, т.е. для того чтобы обратиться к нужному скрипту ты будешь делать что-то вроде SceneContext.Instance.GameBehaviour....
Думаю опять намудру где то :/ Буду по старинки делать...
Ты как-то перепутал синглтон и di. Если у тебя есть di-плагин в проекте, тебе не нужно обращаться к инстансу, а можно сразу инджектить поля нужного типа
Обсуждают сегодня