I have a standalone Windows/Mac application running as a window (at 800x600). I press a GUI button to change the resolution to 1024x768 and switch it to full screen mode, using Screen.SetResolution. I then press another button to change the resolution to 1280x720 and switch back to windowed mode (also using Screen.SetResolution).
However, this only works on the PC. On a Mac, the application ends up windowed but at 800x600 resolution instead of 1280x720. (The resolution becomes whatever it was before the application last changed to full screen mode). Even if I hard code the width and height on the last step, it is ignored (but only on the Mac). The problem occurs no matter what resolutions are used.
I ran into the same problem today. It seems to be a bug on Unity’s end. I made a button to confirm resolution/full screen options and not until the second time it’s clicked (after going from full to the wrong-sized windowed mode) does it adjust properly. Super frustrating
I can confirm that this issue does appear to be a Unity issue on Lion onwards and is NOT fixed in Unity 4.5.
The workaround is to toggle full screen independent of the resolution and set the resolution when not in full screen. However, due to the asynchronous nature of setResolution and full screen toggle, this becomes a very interesting timing issue.
I’m using MacBook Pro (Retina, 13-inch, Early 2015), and appear the same problem. whatever the resolution was set, it became to full screen!
But in Windows, it is OK!!