- Home /
Loading screen works perfectly with one scene only and not with others
I have made a loading screen and a level loader which loads different difficulty levels in the game, the game consists of 4 scenes: Main Menu, Level1, Level2 and Level3 Main menu contains an option for difficulty, so when you choose one, the loading screen appears while the level loads up, this works perfectly fine.
The code for the level loader is below:
using System.Collections;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class LevelLoader : MonoBehaviour
{
public GameObject loadingScreen;
public Slider slider;
public Text progressText;
public void LoadLevel(int sceneIndex)
{
FindObjectOfType<AudioManager>().Play("Button");
StartCoroutine(LoadAsynchronously(sceneIndex));
}
IEnumerator LoadAsynchronously(int sceneIndex)
{
AsyncOperation operation = SceneManager.LoadSceneAsync(sceneIndex);
loadingScreen.SetActive(true);
while (!operation.isDone)
{
float progress = Mathf.Clamp01(operation.progress / 0.9f);
slider.value = progress;
progressText.text = (progress * 100f).ToString("0");
//it was: progressText.text = progress * 100F + "%";
yield return null;
}
}
}
Now the level contains a canvas called game over which has the Main Menu button, whenever this is clicked, the scene starts to load but is displayed only after 2 to 3 seconds, so I tried copying the level loader and loading screen from main menu, it loads the scene however it does not display the loading screen and instead just displays the Main Menu directly, 2 seconds after the button is clicked(until it gets loaded the scene is Game Over scene of that particular level) Any idea as to why this happens and what is the best solution to this? I've tried setting the loader and loading screen as prefabs and that doesn't work either, I'd appreciate a solution to this as soon as possible.
Your answer
Follow this Question
Related Questions
Loading screen with LoadLevelAsync 0 Answers
UI Scene Loading Bar In Unity 5 C#? 1 Answer
Load level async freezing animation for several seconds 0 Answers
Can't get LoadLeveAsync to work 1 Answer
Resource folder resources loading 1 Answer