Cesium Crashing UE5.7 NDisplay

Hello. I am attempting to use NDisplay in an Unreal World I have to create multiple nodes to be displayed on different sized monitors. In a test Unreal scene where I figured out the placement of I faced no issues. Porting this over to my active Unreal project causes the error below to occur. I am using the most recent cesium plugin and Unreal 5.7.4. I am launching my NDisplay config through Switchboard and Switchboard listener. When I boot up the node, it appears (fully black) for a few seconds before dying and the node connection is terminated. If more of the log is needed please let me know, I will need to sanitize it beforehand hence the reason I haven’t uploaded the entire log. In CesiumGaussianSplatSubsystem.cpp at line 236 the following code appears, which is where the error occurs. Not sure if the code doesn’t check for the validity of pWorld before referencing it is the issue.
CesiumGaussianSplatSubsystem.cpp lines 231 → 238
UWorld* pWorld = GetPrimaryWorld();
// Gaussian splats are purely visual, so we don’t need to initialize them if
// we can’t render anything. Besides, the Niagara component will fail to
// spawn if either of these conditions are false (they are checked in
// UNiagaraFunctionLibrary::CreateNiagaraSystem).
if (!FApp::CanEverRender() || pWorld->IsNetMode(NM_DedicatedServer)) {
return;
}

LeftNode log document snippit.

[2026.05.19-19.13.57:899][ 0]LogDisplayClusterInterception: Display: Node ‘LeftNode’ received synchronization settings event
[2026.05.19-19.13.57:907][ 0]LogDisplayClusterInterception: Display: Sync received! Starting interception!
[2026.05.19-19.13.57:907][ 0]LogDisplayClusterInterception: Display: Starting interception of bus messages
[2026.05.19-19.13.57:907][ 0]LogDisplayClusterInterception: Display: Intercepting message type: ‘/Script/Concert.ConcertSession_CustomEvent’ with annotation ‘ConcertMessageId’
[2026.05.19-19.14.00:768][ 0]LogOWLAuth: Error: Auth Error 1023: no active licences found
[2026.05.19-19.14.00:768][ 0]LogWindows: Error: === Critical error: ===
[2026.05.19-19.14.00:768][ 0]LogWindows: Error:
[2026.05.19-19.14.00:768][ 0]LogWindows: Error: Fatal error!
[2026.05.19-19.14.00:768][ 0]LogWindows: Error:
[2026.05.19-19.14.00:768][ 0]LogWindows: Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000068
[2026.05.19-19.14.00:768][ 0]LogWindows: Error:
[2026.05.19-19.14.00:768][ 0]LogWindows: Error: [Callstack] 0x00007fff74c20b1d UnrealEditor-Engine.dll!UnknownFunction
[2026.05.19-19.14.00:768][ 0]LogWindows: Error: [Callstack] 0x00007fff51516d40 UnrealEditor-CesiumRuntime.dll!UCesiumGaussianSplatSubsystem::Tick() [D:\build\U5M\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\CesiumForUnreal\Source\CesiumRuntime\Private\CesiumGaussianSplatSubsystem.cpp:236]
[2026.05.19-19.14.00:768][ 0]LogWindows: Error: [Callstack] 0x00007fff74ad7fd2 UnrealEditor-Engine.dll!UnknownFunction
[2026.05.19-19.14.00:768][ 0]LogWindows: Error: [Callstack] 0x00007fff738e4f29 UnrealEditor-Engine.dll!UnknownFunction
[2026.05.19-19.14.00:768][ 0]LogWindows: Error: [Callstack] 0x00007fff54a7a56b UnrealEditor-DisplayCluster.dll!UnknownFunction
[2026.05.19-19.14.00:768][ 0]LogWindows: Error: [Callstack] 0x00007ff76cb74da6 UnrealEditor.exe!UnknownFunction
[2026.05.19-19.14.00:768][ 0]LogWindows: Error: [Callstack] 0x00007ff76cb90bfe UnrealEditor.exe!UnknownFunction
[2026.05.19-19.14.00:768][ 0]LogWindows: Error: [Callstack] 0x00007ff76cb90d0a UnrealEditor.exe!UnknownFunction
[2026.05.19-19.14.00:768][ 0]LogWindows: Error: [Callstack] 0x00007ff76cb94590 UnrealEditor.exe!UnknownFunction
[2026.05.19-19.14.00:768][ 0]LogWindows: Error: [Callstack] 0x00007ff76cba5be4 UnrealEditor.exe!UnknownFunction
[2026.05.19-19.14.00:768][ 0]LogWindows: Error: [Callstack] 0x00007ff76cba8f9a UnrealEditor.exe!UnknownFunction
[2026.05.19-19.14.00:768][ 0]LogWindows: Error: [Callstack] 0x00007ff8b13ce957 KERNEL32.DLL!UnknownFunction
[2026.05.19-19.14.00:768][ 0]LogWindows: Error:
[2026.05.19-19.14.00:778][ 0]LogExit: Executing StaticShutdownAfterError
[2026.05.19-19.14.00:781][ 0]LogWindows: FPlatformMisc::RequestExit(1, LaunchWindowsStartup.ExceptionHandler)
[2026.05.19-19.14.00:781][ 0]LogWindows: FPlatformMisc::RequestExitWithStatus(1, 3, LaunchWindowsStartup.ExceptionHandler)
[2026.05.19-19.14.00:781][ 0]LogCore: Engine exit requested (reason: Win RequestExit)

So, adding a check for that pointers validity beforee using it seems to have worked. I added

if (!IsValid(pWorld)) {
    return;
}

And I am no longer facing this issue. Building it into my project rather than Unreal however is not a long term solution. Is there somewhere I could make a pull request to get this fix added to the source?

Thank you!

Hello @Blake_E , welcome to the forum!

Thank you for figuring this out. You could open a pull request yourself, see our contributing guide here.
Otherwise I’ve elevated it to the team and they might implement in a patch.

You can open a pull request on the Cesium for Unreal repo here → Pull requests · CesiumGS/cesium-unreal · GitHub

Hi @Blake_E,

Thanks for reporting this bug and sharing your solution! Yes, we would absolutely welcome a pull request to fix this. You can follow Ben’s links to open a PR on the cesium-unreal repo. Thank you again!

Thankyou! Sorry I missed your guys replies, I hope to get a pull request for this in later today.