Interfaces are completely different thing than delegates. But I would have to have more UseCase details. Why do you need it? How do you use it? In order to tell you what is better.
If something has to be called for the actor component, I would encapsulate that in the actor itself. There is no need that anyone else should know about it.
In this case, I would definetely go with delegate. It looks more efficient to me. I don’t understand full logic behind your need for this, but looking at what do you want to do, yeah… definetely delegates.
Game mode is ready before the actors, so you should be good to go. But be aware that if you have multiplayer in your game, then you need to use GameState, and it can become available a bit more in the actor lifecycle.
The logic is simple. Each component is dedicated to doing a single thing (Clean Code). One gathers the players, another organizes the teams, another spawns the players… It’s a way of having everything divided and well organized.
If it were a blueprint it would be a way to avoid spaghetting XD
I will use delegates.
Thank you very much for your help!!
Very appreciated!!