I read this. But simply changing “UnitySelectMonitor” Player Pref only works after restarting the game.
I have arrow buttons to let the user change to the previous or the next available monitor.
Here is the code example for the next monitor button.
public Resolution[] resolutions;
public int curRes;
public int curMonitor = 0;
public int curWidth, curHeight;
public bool curFullscreen = true;
public void nextMonitor()
{
curMonitor++;
//checking if there is another monitor
if (curMonitor > Display.displays.Length - 1)
curMonitor = 0;
//setting PlayerPref
PlayerPrefs.SetInt("UnitySelectMonitor", curMonitor);
//calculating available resolutions
resolutions = Screen.resolutions;
curRes = resolutions.Length - 1;
//sets the best resolution
curWidth = resolutions[curRes].width;
curHeight = resolutions[curRes].height;
Screen.SetResolution(curWidth, curHeight, curFullscreen);
}
Here are my PlayerSettings:

I've been using the this in my code as well, and after some testing I can confirm that this is a problem with Unity 2017. I've submitted a bug report, but at the moment it looks like the only solution is to use an older version of unity.
– lbyrd2OK, cool. I'll give it a try and see what happens. Cheers.
– impurekindTried that but it didn't fix the issue. The shotgun is still getting stuck half way between its reload animation when I switch weapon and then switch back to it again. And, when it's stuck like that, it even sticks with that broken anim and mixes in with my normal shooting anim when I fire the weapon, and once that's happened it won't ever go back to the proper anim/position/rotation/etc of the weapon unless I reset the level. I'm really not sure why I can't seem to get it to reset the animation and stuff when I switch away from and then back to the weapon again.
– impurekind