Instead of using an Update() function to be noticed when the selecting combatant is changed in a battle, I've tried to use the ORK.Battle.SelectingCombatant.Changed event.
I created a Start Battle game event that is triggered every time a battle starts. In this event, there is a Call Function node that starts an ORKBattleStarted function on a custom component of a game object. In this function, I start a coroutine that checks if ORK.Battle.SelectingCombant is valid and when it is, it does:
Then, I have the OnSelectingCombatantChanged(Combatant c) function that does what it needs to do...
And of course, I remove the event in an OnDestroy() function.
When I play the scene, it works, but as soon as I move a combatant on the grid, Unity freezes. I placed a Debug.Log in the first line of the OnSelectingCombatantChanged function and it is never executed.
When I don't add my function to the delegate, everything works fine, so I'm sure the issue is related to that.