void IInitializable.Initialize() { SystemSceneNames .Select(x => SceneManager.LoadSceneAsync(x, LoadSceneMode.Additive).AsObservable().AsUnitObservable()) .WhenAll() // wait, initialize scene context .SelectMany(_ => Observable.NextFrame()) // wait, initialize module .SelectMany(_ => _soundController.OnInitializedAsObservable()) .Subscribe(_ => _initialized.Value = true) .AddTo(_disposable); Application.targetFrameRate = _settings.TargetFrameRate; }