Ashley
I have a card/board game in the works that is built to run off simple Multiplayer.Messages rather than relying on the host syncing objects. Its fairly robust as it is but when in a battle with another player, if too many messages are received when a peer is minimised it can break the game because the peer cant update all the changes at once.
I could create an action queue to handle this so that when the player resumed, all the actions updated one after the other (and it would work) but it would end up slowing the game down as the resumed player waits for all the animations to run through (the player only needs to analyse what is currently on the board in order to make a move).
If i had control over it during runtime I could set it so that the;
* Title screen/lobby/deck editor is set to pause on unfocus.
* In a battle where i expect the player to be actively playing the game anyway its set to do not pause on unfocus.
I know that you are worried that people will abuse it and create inefficient games. In a worst case scenario for my game though, if a player minimises the screen in a battle and the game continues to run in the background, it will only continue to take resources until that player is kicked for inactivity (1 min approx) in which the game would be set back to 'pause on unfocused' and were back in the clear.