MacOS: UE project loses screen/window

I’ve tracked a bug that’s been popping up for me since I started with UE 5.6 where an Unreal Editor project will simply no longer display after many successful startups.

Turns out that using a multi monitor setup causes your project to store screen locations (so it seems) then in some scenarios (like unplugging monitors) causes that project to refuse to be displayed upon future restarts of Unreal Editor.

The issue was that each project stores its own editor window configuration in ProjectFolder/Saved/Config/MacEditor, and those configs had my windows positioned on displays that no longer exist.

To prevent this you must always quit Unreal Engine properly before unplugging monitors

Or, if you forget and it happens again run:

   rm -rf "/path/to/YourProject/Saved/Config/MacEditor/"

UPDATE - CRASH AFTERWARD

I’ve noticed that refocusing UE after bluring, say to my browser or other app, returning to focus UE is super-wonk. That being said I’m seeing crashes per FMacWindow all this together may warrant a legit user story to improve/rethink MacOS window handling.

The crash occurred in FMacWindow::ApplySizeAndModeChanges() - this function handles window resizing, moving, or changing display modes (like switching between windowed/fullscreen).

Key Observations

  1. Window became main focus - The stack trace shows windowDidBecomeMain: which means the crash happened when a window was gaining focus/becoming active

  2. Run loop processing - It was processing events on the main thread through the Cocoa run loop

  3. Signal caught - Something went wrong during the window size/mode application, causing a signal (likely SIGSEGV or similar)

I am on a Macbook Pro, MacOS 26.1, M2 Max / 32gb ram, UE 5.7
Laptop screen plus two monitors

1 Like

I can’t seem to edit so here is an improved breakdown after even further testing and bug experiences.


UE Version: 5.7 (also occurred in 5.6)
Platform: macOS 26.1 (Sequoia), Apple M2 Max, MacBook Pro
Setup: Laptop screen + 2 external monitors (Gigabyte M32U)


Summary

Unreal Editor launches successfully (process runs) but the window is not visible on any display. This occurs after disconnecting external monitors without properly quitting the editor first, or sometimes after adding plugins.

Root Cause

UE stores window positions per-project in ProjectFolder/Saved/Config/MacEditor/. When monitors are disconnected while UE is running or without proper shutdown, these configs retain coordinates for displays that no longer exist. On subsequent launches, macOS cannot position the window, causing it to be invisible despite the editor running normally.

Reproduction Steps

  1. Open a UE project with multiple monitors connected

  2. Without quitting UE properly, disconnect external monitor(s)

  3. Force quit UE or let the system kill it

  4. Attempt to relaunch the project

Result: Editor process starts but window is not visible on any display.

Workarounds

Quick Fix (Per-Project)

rm -rf "/path/to/YourProject/Saved/Config/MacEditor/"

This forces UE to regenerate window layout configs with current display configuration. But doesn’t always work… Seems to depend on what caused the bug, plugin install vs unplugging monitors etc.

Launch with Logging (Temporary)

/Users/Shared/Epic\ Games/UE_5.7/Engine/Binaries/Mac/UnrealEditor.app/Contents/MacOS/UnrealEditor "/path/to/YourProject/YourProject.uproject" -log -stdout

The logging flags alter window initialization timing, which can bypass the issue.

Reset Global Editor Preferences (Last Resorts)

rm -rf "$HOME/Library/Preferences/com.epicgames.UnrealEditor.plist"
rm -rf "$HOME/Library/Application Support/Epic/UnrealEngine/5.7/Saved/Config/Mac/EditorPerProjectUserSettings.ini"

Additional Issue: Crash on Window Refocus

UPDATE: After deleting the MacEditor config folder, I’ve experienced crashes when refocusing the UE window (e.g., switching from browser back to UE).

Crash Location: FMacWindow::ApplySizeAndModeChanges()
Trigger: windowDidBecomeMain: (window gaining focus)
Stack Trace Context: Signal caught during window size/mode application in the Cocoa run loop

This suggests the multi-monitor window management issue runs deeper than just config persistence—there appears to be a fundamental problem with how UE’s macOS window management handles:

  • Display configuration changes

  • Window bounds calculation for disconnected displays

  • Window focus restoration after the display configuration has changed

Logs

When launching with -log -stdout, the editor detects displays correctly:

LogMac: Screen: Built-in Retina Display, Resolution: 1728x1117
LogMac: Screen: Gigabyte M32U (1), Resolution: 1920x1080
LogMac: Screen: Gigabyte M32U (2), Resolution: 1920x1080
LogMac: Found 3 attached monitors.

However, when monitors are disconnected and configs aren’t cleared, the editor launches but the window is positioned at invalid coordinates.

Suspected Code Area

The crash during refocus points to FMacWindow::ApplySizeAndModeChanges() in the engine’s macOS window handling code. This function appears to be attempting to apply window geometry that’s invalid for the current display configuration.

Prevention

Always quit Unreal Editor properly (File → Exit or Cmd+Q) before:

  • Disconnecting external monitors

  • Putting laptop to sleep with active UE session

  • Closing laptop lid with external displays

Request for Epic

This warrants investigation into macOS window handling, specifically:

  1. Validation of window bounds against current display configuration before applying

  2. Fallback to primary display if stored coordinates are invalid

  3. Graceful handling of display configuration changes while editor is running

  4. Prevention of crashes in FMacWindow::ApplySizeAndModeChanges() when display geometry is invalid

The issue affects workflow significantly for MacBook users who regularly switch between docked and mobile setups.


System Specs:

  • MacBook Pro M2 Max (32GB RAM)

  • macOS 26.1 (Sequoia, Build 25B78)

  • UE 5.7 (also reproducible in 5.6)

  • 3-display setup: Built-in Retina + 2x Gigabyte M32U (4K)

1 Like