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
- Previous model to world matrix is not correctly set for ASW
- More calls are made to GC.Alloc in an HDRP Sample Template when compared to the 2022.3 stream
- Generating Light Probe lighting returns inconsistent results on a specific mesh
- Two Warnings appear for every Soft Delete Operation when Deleting Sub Assets in the Project Browser
- “Item m_LightProbeSystem not found” warning is thrown when pressing the “Open” button multiple times in the Adaptive Probe Volume component warning
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);