How to scene change without stuttering (VR)?

https://drive.google.com/file/d/1ngKTAkU21V-7ULd_EEHAO1h27AROsQKj/view?usp=sharing

I have shared a video regarding the stuttering that’s occurring while scene transition. How to remove that and make it into a smooth continuation of the previous scene.

Where is the scene transition?
I did see some stutter, but do not see any scene reloading.
Can you share the relevant code as well?
Did you already profile the build?

That sudden stutter is scene changing (sorry no transition), i dont want any transition but is it possible to load the scene such that the before scene wont freeze…

Did you already profile the build? I didnt understand by this

  1. Share the code you use
  2. With a debug build you can check the performance stats in the profiler, to see exactly what causes the issue

You want to look in Unity’s Addressable system and use that for scene loading. It allows you to load scenes (and assets) without blocking the main thread (which is what causes your stuttering).

The Addressable system is what you would use if you had a massive environment and wanted to load parts of the map dynamically as you reach them. This removes stuttering when loading new environments and generally speeds up initial load times.

Thanks let me have a look on it…

  1. If possible, do scene loading on a faded screen, so any stutter is not visible to the user.
  2. If you have to load parts of an open world, use SceneManager.LoadAsync to load those scenes additively, use small chunk scenes and make sure there’s not much initialization code, like Awake or Start calls on objects in those scenes.

Also going to chime in to recommend setting
Application.backgroundLoadingPriority = ThreadPriority.Low; which will help avoid frame stalls during async calls such as SceneManager.LoadSceneAsync.

1 Like