I wrote a game framework to separate game logic from unity visual. Everything for game is done inside a big function (method). When game should load new scene or level, i use interface to call IInterface.Initialize(new IScene). But GameFramework only change scene inside OnUpdate()?

I wrote a game framework to separate game logic from unity visual. Everything for game is done inside a big function (method). When game should load new scene or level, i use
interfaceto callIInterface.Initialize(new IScene). But GameFramework only change scene insideOnUpdate()?