Async Level loading issue.
Hey, I'm trying to setup loading to different levels with SceneManager.LoadLevelAsync but I'm running into what I consider issues. First, how can I make it so the loading screen stays until all objects are loaded?
Also, When I load a level it continually adds to the (is Loading) in the Hierarchy. Like this.
sometimes it's more (is loading) statements and sometimes less. It varies. It also varies how long it takes for each of them to go away.
this is the code I have now.
public void StartLoad(string levelName)
{
cam.enabled = true;
cGroup.alpha = 1;
if (SceneManager.GetSceneByName(CurrentSceneName).isLoaded)
{
previousScene = CurrentSceneName;
IEnumerator loadLevel;
loadLevel = AsyncLoad(levelName);
StartCoroutine(loadLevel);
// SceneManager.LoadScene(levelName);
}
}
IEnumerator AsyncLoad(string scene)
{
yield return null;
AsyncOperation ao = SceneManager.LoadSceneAsync(scene, LoadSceneMode.Single);
ao.allowSceneActivation = false;
while (!ao.isDone)
{
float progress = Mathf.Clamp01(ao.progress / 0.9f);
progressText.text = (int)(progress * 100) + "%";
progressBar.fillAmount = progress;
// Loading completed
if (ao.progress == 0.9f)
{
ao.allowSceneActivation = true;
StartCoroutine(WaitForSceneLoad(SceneManager.GetSceneByName(NextSceneName)));
}
yield return null;
}
}
public IEnumerator WaitForSceneLoad(Scene scene)
{
while (!scene.isLoaded)
{
yield return null;
}
if (scene.isLoaded)
{
SceneManager.SetActiveScene(scene);
cGroup.alpha = 0;
cam.enabled = false;
}
At first it was locking up after 2 level changes. It would not move from 0%. I added the last coroutine and it fixed that but they still pile on like the image. And the level loads or "shows" before the player gets all his gear on. Anyone know what might be up?
Thanks
Your answer
Follow this Question
Related Questions
Load level async 0 Answers
Load level async 1 Answer
Load Scene in Background and Load When a Button is Clicked 0 Answers
How to wait for WWW to finish without Coroutine. 0 Answers
How to load a score form a saved game vs. the level just completed 0 Answers