Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
- Added missing includes that introduced compilation failures when building the plugin from source against UE 5.7's bundled clang 20.1.8 toolchain (introduced in v2.25.0 by #1685; binary plugin users were unaffected).
- Fixed the case where glTF line primitives caused excessive log spam due to Chaos attempting to generate physics bodies for small non-triangle meshes.
- Fixed an incorrect transform that reversed the appearance of data in box voxel tilesets.
- Fixed a crash in `UCesiumGaussianSplatSubsystem::Tick` when `GetPrimaryWorld()` returns `nullptr` (e.g. between PIE shutdown and Standalone-Game launch, or on nDisplay secondary nodes during world bind-up). Restores the validity check ordering that shipped in v2.24.1 and was inadvertently inverted in v2.26.0 (#1841).

### v2.26.0 - 2026-05-01

Expand Down
15 changes: 8 additions & 7 deletions Source/CesiumRuntime/Private/CesiumGaussianSplatSubsystem.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -229,13 +229,6 @@ void UCesiumGaussianSplatSubsystem::Tick(float DeltaTime) {
}

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;
}

if (!IsValid(pWorld)) {
if (IsValid(this->_pNiagaraActor)) {
Expand All @@ -245,6 +238,14 @@ void UCesiumGaussianSplatSubsystem::Tick(float DeltaTime) {
return;
}

// 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;
}

if (!IsValid(this->_pNiagaraActor) || pWorld != this->_pLastCreatedWorld) {
this->initializeForWorld(*pWorld);
}
Expand Down
Loading