Does it make sense to create an interface IGameManager to implement a GameManager class?

Asking to AI, seems to be quite logical to create an interface IGameManager and a GameManager class implementing it, instead of using a static class GameManager.

My Question is:

If reasoning in terms of a practical way to organize classes in a Unity project, is it worth to do something like that? Or I should use a simple GameManager static class?

From my understanding, using interfaces helps only when we want to have similar interface to easily communicate between different objects. You will have only one GameManager, you will know for sure that it’s instance is also GameMager, you will not have different implementations of functions inside GameManager. So you can either make it static or use Singleton Pattern (https://blog.yarsalabs.com/using-singletons-in-unity/)

Thanks so much Unbrelluck, yes, it seems quite logical to me too :slight_smile: