Cesium plugin crashes in Standalone/Launch Game after UE reinstall

Hi everyone,

I have a crash related to Cesium after reinstalling Unreal Engine and the plugins. The project worked completely fine before the reinstall.

Now the project crashes whenever I:

  • Launch the game from RMB on the .uproject → “Launch Game”

  • Use “Play in Standalone Game”

However:

  • PIE in the editor viewport sometimes works

  • If the landscape/world is already loaded, PIE works

  • If not loaded, it crashes with another error

  • Disabling the Cesium plugin completely fixes the issue

What is strange is that I enabled the plugin again without even setting anything up, and it still crashes immediately.

Crash log:

LoginId:c80069b84df103bd6d875ca77adc88c7
EpicAccountId:3d2093d919fb4f4daf8ef5cd5b4bb9e1

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000068

UnrealEditor_Engine!UWorld::InternalGetNetMode() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\World.cpp:9463]
UnrealEditor_CesiumRuntime!UCesiumGaussianSplatSubsystem::Tick() [D:\build\U5M\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\CesiumForUnreal\Source\CesiumRuntime\Private\CesiumGaussianSplatSubsystem.cpp:236]
UnrealEditor_Engine!FTickableGameObject::TickObjects() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\Tickable.cpp:200]
UnrealEditor_Engine!UGameEngine::Tick() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\GameEngine.cpp:1951]
UnrealEditor!FEngineLoop::Tick() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5828]
UnrealEditor!GuardedMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:190]
UnrealEditor!GuardedMainWrapper() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:123]
UnrealEditor!LaunchWindowsStartup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:277]
UnrealEditor!WinMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:334]
UnrealEditor!__scrt_common_main_seh()
kernel32
ntdll

Things I already tried:

  • Reinstalling the Cesium plugin

  • Deleting:

    • Binaries

    • Intermediate

    • Saved

    • DerivedDataCache

  • Rebuilding the project

  • Enabling/disabling the plugin multiple times

The crash always points to:

UCesiumGaussianSplatSubsystem::Tick()

It feels like some subsystem is ticking with an invalid UWorld during Standalone startup.

Has anyone seen this before or knows if this could be:

  • a Cesium version mismatch,

  • Gaussian Splats issue,

  • plugin binary mismatch,

  • or some standalone initialization bug?

Any help would be appreciated.

Hello Kolodinski0895, welcome to the forum!

Which version of Unreal Engine were you using before, and which one now?

Hi Ben,

It’s UE 5.7.4 now and before. I also completely reinstalled the engine.

I actually have some updated information.

I deleted the Cesium plugin from the engine installation, downloaded both Cesium 2.26.0 and 2.25.0 directly from GitHub, and unpacked them into the Plugins folder of my project.

With Cesium 2.26.0 the behavior was initially exactly the same (the editor still crashed). However, I modified CesiumGaussianSplatSubsystem.cpp around line 236 with the following code:

UWorld* pWorld = GetPrimaryWorld();
if (!IsValid(pWorld)) return;

After this modification the crash stopped completely.

However, the editor behavior became very strange afterward:

  • when I select something unrelated to Cesium, tiles start unloading,

  • terrain quality drops heavily,

  • textures become blurry,

  • terrain accuracy degrades noticeably.

Unfortunately, even though I can now compile and run the project inside the editor, I still cannot package the game because of the following compilation errors:

UATHelper: Packaging (Windows): [276/372] Compile [x64] EncodedMetadataConversions.cpp
UATHelper: Error: Packaging (Windows): [277/372] Compile [x64] GenerateMaterialUtility.cpp

UATHelper: Error: Packaging (Windows): D:\5.7\DevNiArtMaster\DevNiArtMaster\Plugins\Cesium\Source\CesiumRuntime\Private\GenerateMaterialUtility.h(169,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
UATHelper: Error: Packaging (Windows): FCesiumMetadataValue getValueForSemantic(
UATHelper: Error: Packaging (Windows): ^

UATHelper: Error: Packaging (Windows): D:\5.7\DevNiArtMaster\DevNiArtMaster\Plugins\Cesium\Source\CesiumRuntime\Private\GenerateMaterialUtility.h(169,22): error C2146: syntax error: missing ';' before identifier 'getValueForSemantic'
UATHelper: Error: Packaging (Windows): FCesiumMetadataValue getValueForSemantic(
UATHelper: Error: Packaging (Windows):                      ^

UATHelper: Error: Packaging (Windows): D:\5.7\DevNiArtMaster\DevNiArtMaster\Plugins\Cesium\Source\CesiumRuntime\Private\GenerateMaterialUtility.cpp(216,1): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
UATHelper: Error: Packaging (Windows): FCesiumMetadataValue getValueForSemantic(
UATHelper: Error: Packaging (Windows): ^

UATHelper: Error: Packaging (Windows): D:\5.7\DevNiArtMaster\DevNiArtMaster\Plugins\Cesium\Source\CesiumRuntime\Private\GenerateMaterialUtility.cpp(216,1): error C2086: 'int GenerateMaterialUtility::FCesiumMetadataValue': redefinition
UATHelper: Error: Packaging (Windows): D:\5.7\DevNiArtMaster\DevNiArtMaster\Plugins\Cesium\Source\CesiumRuntime\Private\GenerateMaterialUtility.h(169,1): note: see declaration of 'GenerateMaterialUtility::FCesiumMetadataValue'
UATHelper: Error: Packaging (Windows): FCesiumMetadataValue getValueForSemantic(
UATHelper: Error: Packaging (Windows): ^

UATHelper: Error: Packaging (Windows): D:\5.7\DevNiArtMaster\DevNiArtMaster\Plugins\Cesium\Source\CesiumRuntime\Private\GenerateMaterialUtility.cpp(216,22): error C2146: syntax error: missing ';' before identifier 'getValueForSemantic'
UATHelper: Error: Packaging (Windows): FCesiumMetadataValue getValueForSemantic(
UATHelper: Error: Packaging (Windows):                      ^

UATHelper: Error: Packaging (Windows): D:\5.7\DevNiArtMaster\DevNiArtMaster\Plugins\Cesium\Source\CesiumRuntime\Private\GenerateMaterialUtility.cpp(219,48): error C2143: syntax error: missing ';' before '{'
UATHelper: Error: Packaging (Windows):     ECesiumMetadataStatisticSemantic semantic) {
UATHelper: Error: Packaging (Windows):                                                ^

UATHelper: Error: Packaging (Windows): D:\5.7\DevNiArtMaster\DevNiArtMaster\Plugins\Cesium\Source\CesiumRuntime\Private\GenerateMaterialUtility.cpp(219,48): error C2447: '{': missing function header (old-style formal list?)

If I use Cesium 2.25.0, I no longer need to modify the original Cesium classes at all — it works without crashes in the editor. However, packaging the game still fails with exactly the same GenerateMaterialUtility errors.

At this point I honestly have no idea what is happening.

Hey @Kolodinski0895 ,

Thanks for the details! It sounds like this could be a potential regression/bug.

If you can reproduce this behaviour in the Cesium Unreal Samples project (available on fab) with the latest cesium plugin (also from fab) and provide the minimal steps to do so, then I’d say we can open a Github issue for the team to look at. You could open that yourself here or I can do it if you report that info here.

Thanks!

Hi mate.

Sorry for the very long reply, I didn’t have time to test it earlier.

I followed your instructions:

  • installed the latest Cesium plugin from the Epic/Fab library,

  • downloaded the Cesium Samples project,

  • changed absolutely nothing in the project.

Then I simply pressed “Play → Standalone Game”, and I got the same crash immediately:

LoginId:c80069b84df103bd6d875ca77adc88c7
EpicAccountId:3d2093d919fb4f4daf8ef5cd5b4bb9e1

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000068

UnrealEditor_Engine!UWorld::InternalGetNetMode() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\World.cpp:9463]
UnrealEditor_CesiumRuntime!UCesiumGaussianSplatSubsystem::Tick() [D:\build\U5M\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\CesiumForUnreal\Source\CesiumRuntime\Private\CesiumGaussianSplatSubsystem.cpp:236]
UnrealEditor_Engine!FTickableGameObject::TickObjects() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\Tickable.cpp:200]
UnrealEditor_Engine!UGameEngine::Tick() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\GameEngine.cpp:1951]
UnrealEditor!FEngineLoop::Tick() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5828]
UnrealEditor!GuardedMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:190]
UnrealEditor!GuardedMainWrapper() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:123]
UnrealEditor!LaunchWindowsStartup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:277]
UnrealEditor!WinMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:334]
UnrealEditor!__scrt_common_main_seh()
kernel32
ntdll

So the issue is reproducible even in the clean sample project.

At this point I honestly don’t know if the problem is still somehow on my side only. Maybe a full Windows/system reinstall would fix it, but it’s very strange because this started happening suddenly without any obvious reason.

If nobody else can reproduce it, then it’s probably something specific to my environment/setup. But since it also happens in the untouched sample project, I thought it was worth reporting.

Hey @Kolodinski0895,

Thanks for confirming the reproduction in the clean Samples project, that was really helpful!

This is a confirmed bug. It’s the same issue reported by another user in this NDisplay thread, where GetPrimaryWorld() can return null and the code dereferences it without checking. It was a regression introduced during a recent refactor.

Good news: the fix has already been merged (PR #1844, fixing issue #1841). It’s slated for the June 2026 release.

In the meantime, you could remove all versions of the plugin you have (Engine and Project) and grab the latest from github yourself, or implement the same workaround locally while you wait for the release.

Thanks for reporting this, and sorry for the trouble!

Hi @darcyvdd

Very good news! I’m glad I could help to find and fix the problem. Thank you for cooperation, I will try the fixed version asap.