Одна сцена — один режим

Если в GameScene у вас меню, бой, пауза и диалоги, проект развалится на второй фиче. Делите по режимам: Boot, Preload, Menu, Level, UI. UI лучше параллельной сценой поверх уровня, а не кучей текста внутри мира.

Boot и Preload

Boot только ставит Scale Manager и стартует загрузку. Preload качает атлас, карту, звук. Не грузите весь контент главы 5, если игрок ещё в меню. Для больших игр — пак на уровень и this.load перед стартом этой сцены.

Данные не живут в спрайте

Прогресс, инвентарь, настройки — this.registry или ваш модуль вне Phaser. Сцена может умереть при this.scene.restart(), данные не должны исчезнуть вместе с ней.

Не кладите синглтон «игры» в глобальный window. Передавайте ссылку через init(data) или registry.

Переходы

this.scene.start выключает текущую. launch поднимает параллельно — так делают HUD. pause/resume — для паузы, не для смены уровня. Если забыли остановить твины и таймеры, они доигрывают в невидимой сцене и едят кадр.

Порядок в файлах

Сцена тонкая: слушает ввод, дергает системы. Системы — обычные классы: спавнер, квесты, сейв. Так проще тестировать и проще перенести кусок на Phaser 4, когда дойдёте.