Making a Loading Screen
A tutorial for creating a loading screen when using FishNet's Scene Management instead of Unity's default one.
2
Adding a simple loading screen script
using FishNet;
using UnityEngine;
public class LoadingScreen : MonoBehaviour
{
private void Start()
{
if (InstanceFinder.NetworkManager.HasInstance<LoadingScreen>())
{
Destroy(gameObject);
return;
}
InstanceFinder.NetworkManager.RegisterInstance(this);
DontDestroyOnLoad(gameObject);
HideLoadingScreen();
}
public static void ShowLoadingScreen()
{
if (InstanceFinder.NetworkManager.TryGetInstance(out LoadingScreen loadingScreen))
loadingScreen.gameObject.SetActive(true);
}
public static void HideLoadingScreen()
{
if (InstanceFinder.NetworkManager.TryGetInstance(out LoadingScreen loadingScreen))
loadingScreen.gameObject.SetActive(false);
}
}3
Creating a custom scene processor
using FishNet.Managing.Scened;
public class LoadingScreenSceneProcessor : DefaultSceneProcessor
{
public override void LoadStart(LoadQueueData queueData)
{
base.LoadStart(queueData);
LoadingScreen.ShowLoadingScreen();
}
public override void LoadEnd(LoadQueueData queueData)
{
base.LoadEnd(queueData);
LoadingScreen.HideLoadingScreen();
}
}Last updated


