Skip to content

feat: window mode and resolution improvements#7102

Merged
m3taphysics merged 15 commits intodevfrom
feat/window_and_resolution_improvements
Mar 24, 2026
Merged

feat: window mode and resolution improvements#7102
m3taphysics merged 15 commits intodevfrom
feat/window_and_resolution_improvements

Conversation

@mihakrajnc
Copy link
Copy Markdown
Contributor

@mihakrajnc mihakrajnc commented Feb 16, 2026

Pull Request Description

This PR changes how we handle / manage resolutions and window mode. Notably:

  • Fullscreen mode dropdown was changed to a toggle
  • Resolutions dropdown no longer shows refresh rate variants
  • Fullscreen mode Is not FullscreenBorderless, we dropped support for exclusive mode (fixes [QA] Settings | Black screen when switching Window mode from any to Fullscreen #7131)
  • When in Window mode, the window can now be freely resized, with some constraints:
    • Min / Max aspect ratio is 4:3 / 21:9
    • Min size is 640x480
  • When in Window mode, the resolution dropdown is disabled and shows the current window size, without the aspect ratio.
  • When in editor, both the fullscreen toggle and resolution dropdowns are disabled as they don't do anything.

What does this PR change?

All of the resolution / window management logic has been refactored / unified in NativeWindowManager, which now handles resolution changes, full screen toggling, and requesting / releasing a temporary window mode (e.g. on authentication).

The NativeWindowManager with Mac / Win native plugins is required because there are no ways to restrict aspect ration or min / max resolution with just the Unity API. Continuously checking Screen.width / Screen.height and forcing it to a specific aspect ration / size does not give good results (extremely jittery).

Test Instructions

Test switching between fullscreen and windowed mode, and resizing the window. which should stay between the min / max aspect ratios, and should not be able to be scaled bellow the minimum size.

Verify that when we request a temporary window mode (for example when in full screen mode, and authentication is requested), Explorer correctly switches to window mode and then back.

Quality Checklist

  • Changes have been tested locally
  • Documentation has been updated (if required)
  • Performance impact has been considered
  • For SDK features: Test scene is included

Code Review Reference

Please review our Code Review Standards before submitting.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 16, 2026

badge

New build in progress, come back later!

@mihakrajnc mihakrajnc linked an issue Feb 16, 2026 that may be closed by this pull request
@mihakrajnc mihakrajnc changed the title feat: make window resizable feat: window mode and resolution improvements Feb 18, 2026
@mihakrajnc mihakrajnc force-pushed the feat/window_and_resolution_improvements branch from 8df4a21 to 413f20d Compare February 20, 2026 12:56
Copy link
Copy Markdown

@DafGreco DafGreco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✔️ PR reviewed and approved by QA on both platforms following instructions playing both happy and un-happy path

Regressions for this ticket had been performed in order to verify that the normal flow is working as expected:

  • [✔️ ] Backpack and wearables in world
  • [✔️ ] Emotes in world and in backpack
  • [✔️ ] Teleport with map/coordinates/Jump In
  • [✔️ ] Chat and multiplayer
  • [✔️ ] Settings

Evidence:

Screen.Recording.2026-03-20.at.11.05.28.mov
20260320-1106-22.4125018.mp4

Copy link
Copy Markdown
Contributor

@alejandro-jimenez-dcl alejandro-jimenez-dcl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good work! Left some small requests.

On a side note, why do we need a native plugin? Can we have that rationale written down either in the ticket or this PR?

Comment thread Explorer/Assets/Plugins/NativeWindowManager/ResolutionUtils.cs Outdated
Comment thread Explorer/Assets/Plugins/NativeWindowManager/NativeWindowManager.cs
Comment thread Explorer/Assets/Plugins/NativeWindowManager/NativeWindowManager.cs Outdated
@m3taphysics m3taphysics merged commit cd868b8 into dev Mar 24, 2026
7 of 11 checks passed
@m3taphysics m3taphysics deleted the feat/window_and_resolution_improvements branch March 24, 2026 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[QA] Settings | Black screen when switching Window mode from any to Fullscreen Improvements in window modes and resolutions

4 participants