LoaderManager - Implement Loading Screens in Unity

The LoaderManager is a service that can be used to create loading scenes for various purposes. Whether you need a loading screen to prepare your game or you want to use loading scenes between different scenes, the LoaderManager is at your disposal. It becomes especially handy when several services are loading at the same time in the background, which will be referred to as threads in the following.

How to use the LoaderManager

First of all, you can use LoaderManager to register all processes necessary for loading the next scene.

LoaderManager.service?.Add("audioFiles");
LoaderManager.service?.Add("configuration");
LoaderManager.service?.Add("gameData");

You can also remove a single process from the manager:

LoaderManager.service?.Remove("audioFiles");

You have to update the progress of the respective process:

LoaderManager.service?.SetProgress("configuration", 0.8f);
LoaderManager.service?.SetProgress("gameData", 0.2f);

You can get the progress from each process:

var progress = LoaderManager.service?.GetProgress("configuration");

And of course the total progress of the loader process:

var totalProgress = LoaderManager.service?.progress;

To mark a process as "done" you can use this method:

LoaderManager.service?.Complete("configuration");

This is basically the same as this call:

LoaderManager.service?.SetProgress("configuration", 1f);

Finally, you can also reset the LoaderManager:

LoaderManager.service?.Clear();

Your Feedback is important!

What do you think of the services presented here? Is there anything missing or does something not work as expected? As always, I'm happy to listen to your feedback. Let me know what you think about this module. You can use the comment section below the article for this. You can also find other ways to contact me here. If you found a bug or want an enhancement, please create an issue in the GitHub repository. Further documentation can be found in the README of the corresponding module.

There are no comments yet.