Asset Store: https://assetstore.unity.com/packages/tools/utilities/managers-manager-260434
Games are complex creations, in which there are a lot of systems, objects and events to manage, and for that reason we tend to make special objects we call "managers" to try organise this lovely mess a bit. Giving how crucial these managers are, it would be nice to be able to organise them with some kind of... manager.
This tool was made with 2 ideas in mind:
This can be easly achieved by making prefabs out of our managers and storing them in a single folder to have them always on hand, but fortunately Managers Manager does it all for you, and gives you separate window for quick and easy access to all your managers.
To mark given class as a manager, all you have to do is simply add "Manager" attribute (located in MM namespace) to your class.
using UnityEngine;
using MM;
[Manager]
public class EnemyManager : MonoBehaviour
{
//...
}
Additionally you can define "Path" and "DisplayName", which will affect where and how newly created instances are displayed.
[Manager(Path = "Art/Music & SFX", DisplayName = "Main sound manager")]
With it editor will automatically create a prefab out of any created instance of that class, and will show you that game object in "managers window".
Here you can find your managers sorted by scenes they appear in, as well as in folders defined by your custom paths.
You can always tweak the path and display name per instance in Managers window.
For any more complex operations that Managers window doesn't provide functionality for, you can press "Navigate to prefab" to open it directly in project window.