I’m trying to run a packaged version of my UE4.25 project on MacOS Sonoma, and on launch it’s immediately crashing with the error:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'API misuse: setting the main menu on a non-main thread. Main menu contents should only be modified from the main thread.'
This seems to happen after it tries to initialize the movie player.
I tried making a new project and packaging it, and it worked fine.
Any suggestions?
Hey there @King_Crazy! This seems to be an error with how Unreal is handling a UI component (or what is passed as a window). MacOS seems to be upset with it originating from a thread other than the primary. That said, I’ve never seen this outside of app development. Since Unreal generally handles all internal API calls, I didn’t even expect this to be easily done without a modified engine build.
This is a build for iOS, right?
Do you have a previous source control branch in which it did build? If so what has changed since then?
Try to package the game with just a blank map and leave your main map out, does the build fail in the same location?
At the risk of breaking things further, my first suggestion is to back your project up, and delete every folder with cached data. Saved
, DerivedDataCache
, and Intermediate
and when you build, make a clean build, does the error remain the same or change?