loading is happening on the GameThread, but not fully synchronous. It’s using a time-slicing approach by default, with mixed success.
However, you can enable the ALT via the -AsyncLoadingThread parameter or by setting the following in your *Engine.ini:
[/Script/Engine.EditorStreamingSettings] s.AsyncLoadingThreadEnabled=trueBe aware that there still might be some issues with running the ALT in Editor, but we’re aiming to enable it by default soon™.
There’s still some race conditions and multi-threading problems, specifically with asset types that we might not test as much internally.
Here’s an example of the type of issues with found in a recent test in Fortnite with thread sanitizer and ALT enabled:
CDO being postloaded can be accessed by ALT
OnObjectRenamed multicast delegate called from ALT
One race in ClearImportedPackages on GT while IncludePackageInSyncLoadContextRecursive is called on ALT
One race in FPackageName::QueryRootContentPaths().
Multiple race between FApp::IsGame() and SetPlayInEditorWorld/RestoreEditorWorld during PIE
These are just internal notes and not any kind of exhaustive or representative list.
Overall the ALT in Editor is not ready for production yet, which is why it’s still disabled.
It might work for your case if you have a simple project but it’s also possible you’ll see crashes and problems as result of enabling the ALT right now.