Search Issue Tracker
Fixed in 2020.1.X
Fixed in 2017.4.X, 2018.4.X, 2019.3.X
Votes
1
Found in
2017.4.36f1
2018.4
2019.2.0a5
2019.3
2020.1
Issue ID
1207918
Regression
Yes
Original window doesnt enter fullscreen mode when launching with second display activated
Reproduction steps:
1. Open attached project
2. Build and run the project
3. Make sure "windowed" is unticked
4. Select lower resolution than native
5. Press "Play"
Expected: Window on the first display will be in fullscreen
Actual: Windows on the first display is in borderless fullscreen mode that doesn't fit the screen
Reproducible with: 2017.4.36f1, 2019.2.0a5, 2020.1.0a17
Not reproducible with: 2017.4.35f1, 2019.0a4
Note: Seems to be introduced with case 1040726
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Too little validation messages in the "WebAssembly Language Features" Memory settings
- Project Settings Search Highlights are misaligned when using the Bitmap Text Rendering Mode
- "GetControlID at event ValidateCommand returns a controlID different from the one in Layout event" Warning is thrown when undoing the deletion of Sprite Shape Profile
- Memory related fields in the "WebAssembly Language Features" can be set to the negative numbers
- "WebAssembly Language Features" Header in the Player Settings has a smaller indentation
Resolution Note (fix version 2020.1):
Regression was introduced while attempting to fix case 1040726 (https://issuetracker.unity3d.com/issues/primary-screen-window-size-turns-to-native-when-using-more-than-one-display)
With this new fix, the initial state of the primary display will be based on the current FullscreenMode when multi-display is activated:
- If running in ExclusiveFullScreen or FullScreenWindow mode, the primary display will have a "fullscreen window" matching the native monitor resolution
- If running in Windowed mode, the primary display will have a "borderless window" matching the current width and height
To change the window size on the primary display, call Display.SetParams() *after* activating the primary display.
For example, to force 640x480 windows on both displays:
// Display.Activate() parameters are ignored for the primary display (index 0) so just pass in 0's
Display.displays[0].Activate(0, 0, 0);
// Activate the secondary display to use a 640x480 window
Display.displays[1].Activate(640, 480, 60);
// Force the primary display to also use a 640x480 window
Display.displays[0].SetParams(640, 480, 0, 0);