Off screen behavior on Mac sonoma

We built a automatic test pipeline for testing some scripting functionality under MacOS/iOS, though my question is only about the MacOS side.

Say, the UE4.27’s Mac shipping app is working fine with our Mac mini + m2 Pro + OS Sonoma + SCREEN OFF, while the UE5.3’s Mac shipping one is not when SCREEN OFF.

We implement this test stage by launching a .net application, inside we start a process targeting the shipping app with redirected stdout (we enabled logging in shipping).

If the Mac has monitor SCREEN ON, everything is fine, we can see the log flush as normal, while for the UE5.3’shipping, when SCREEN OFF, we discovered that the log paused on message “Clearing the OS cache”, when I light the monitor, the log flushed with MacOS warning:
WARNING: Secure coding is automatically enabled for restorable state! However, not on all supported macOS versions of this application. Opt-in to secure coding explicitly by implementing NSApplicationDelegate.applicationSupportsSecureRestorableState:

Then the whole UE thread seems back sleep, I can not bring back the window and have to force kill the UE process.

It seems the 4.27 and 5.3 (maybe 5.x) has different MacOS application setup in regard of this behavior (if not, why 4.27 is totally fine though?), I am not familiar with MacOS vanilla development (no I haven’t write a single app with objective-c), need some guidance like what module in UE is responsible for such behavior so I can manage to fix it?

Ok I found a walk around to prevent the test stage from blocking. Turns out the shipping launched with fullscreen mode, which triggered the MacOS’s gaming mode, it is the source of all headache.
We added the WINDOWED switch then, prevent the trigger of gaming mode. Without that gaming mode, the game thread successfully run to end.
The reason why this gamming mode have such behavior remains yet another unknown story anyway

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.