[SOLVED] UE 5.4.4 -> UE 5.5.1 CESIUM packaging error

Hi,

I just started to move out flight simulator from UE 5.4.4 to UE 5.5.1 using the latest CESIUM plugin 2.12.0, and it runs fine, but packaging breaks, see log below (marked two important lines with bold).

Any ideas what might be the problem here?

Thanks & best
Andreas

UATHelper: Packaging (Windows): LogSavePackage: Warning: Cesium3DTilesetRoot /Game/Maps/CESIUM_Terrain.CESIUM_Terrain:PersistentLevel.Cesium3DTileset_0.Tileset is a private Archetype object
UATHelper: Packaging (Windows): LogSavePackage: Warning: This object is an archetype (flags include RF_DefaultSubObject) but is private. This is a code error from the generator of the object. All archetype objects must be public.
UATHelper: Packaging (Windows): LogSavePackage: Warning:
UATHelper: Packaging (Windows): Referencers of Cesium3DTileset /Game/Maps/CESIUM_Terrain.CESIUM_Terrain:PersistentLevel.Cesium3DTileset_0:
PackagingResults: Warning: Cesium3DTilesetRoot /Game/Maps/CESIUM_Terrain.CESIUM_Terrain:PersistentLevel.Cesium3DTileset_0.Tileset is a private Archetype object
PackagingResults: Warning: This object is an archetype (flags include RF_DefaultSubObject) but is private. This is a code error from the generator of the object. All archetype objects must be public.
UATHelper: Packaging (Windows): LogSavePackage: Warning:
UATHelper: Packaging (Windows): Referencers of Level /Game/Maps/CESIUM_Terrain.CESIUM_Terrain:PersistentLevel:
UATHelper: Packaging (Windows): LogSavePackage: Warning: LevelStreamingDynamic /Game/Maps/Persistent.Persistent:LevelStreamingDynamic_1 (1 refs)
UATHelper: Packaging (Windows): LogSavePackage: Warning: 0) ObjectProperty /Script/Engine.LevelStreaming:LoadedLevel
PackagingResults: Warning: LevelStreamingDynamic /Game/Maps/Persistent.Persistent:LevelStreamingDynamic_1 (1 refs)
PackagingResults: Warning: 0) ObjectProperty /Script/Engine.LevelStreaming:LoadedLevel
UATHelper: Packaging (Windows): LogWindows: Error: appError called: Canā€™t save ā€˜C:/jetsim-ue55/Saved/Cooked/Windows/JetSim/Content/Maps/Persistent.umapā€™: Illegal reference to private object: ā€˜Cesium3DTilesetRoot /Game/Maps/CESIUM_Terrain.CESIUM_Terrain:PersistentLevel.Cesium3DTileset_0.Tilesetā€™ referenced because it is an archetype object (private object belongs to an external map).
UATHelper: Packaging (Windows): LogWindows: Error: begin: stack for UAT
UATHelper: Packaging (Windows): LogWindows: Error: === Critical error: ===
UATHelper: Packaging (Windows): LogWindows: Error:
UATHelper: Packaging (Windows): LogWindows: Error: Canā€™t save ā€˜C:/jetsim-ue55/Saved/Cooked/Windows/JetSim/Content/Maps/Persistent.umapā€™: Illegal reference to private object: ā€˜Cesium3DTilesetRoot /Game/Maps/CESIUM_Terrain.CESIUM_Terrain:PersistentLevel.Cesium3DTileset_0.Tilesetā€™ referenced because it is an archetype object (private object belongs to an external map).
UATHelper: Packaging (Windows): LogWindows: Error:
UATHelper: Packaging (Windows): LogWindows: Error:
UATHelper: Packaging (Windows): LogWindows: Error: end: stack for UAT
PackagingResults: Error: appError called: Canā€™t save ā€˜C:/jetsim-ue55/Saved/Cooked/Windows/JetSim/Content/Maps/Persistent.umapā€™: Illegal reference to private object: ā€˜Cesium3DTilesetRoot /Game/Maps/CESIUM_Terrain.CESIUM_Terrain:PersistentLevel.Cesium3DTileset_0.Tilesetā€™ referenced because it is an archetype object (private object belongs to an external map).
PackagingResults: Error: begin: stack for UAT
PackagingResults: Error: === Critical error: ===
PackagingResults: Error: Canā€™t save ā€˜C:/jetsim-ue55/Saved/Cooked/Windows/JetSim/Content/Maps/Persistent.umapā€™: Illegal reference to private object: ā€˜Cesium3DTilesetRoot /Game/Maps/CESIUM_Terrain.CESIUM_Terrain:PersistentLevel.Cesium3DTileset_0.Tilesetā€™ referenced because it is an archetype object (private object belongs to an external map).
PackagingResults: Error: end: stack for UAT

Well, trying to find the cause for a while I just deleted the CESIUM World Terrain from the project and packaged it again, and it worked without a hitch.

Then I re-added the CESIUM World Terrain, and now even with it the packaging finished without an errorā€¦

Iā€™m stumped, but happy. Itā€™s an elaborate ā€œhave you tried to turn it OFF an ON againā€. Still the most important rule for fixing stuff. :slight_smile:

Glad to hear you were able to get it working! Iā€™m not sure what might cause the error you were seeing originally, but definitely let us know if it pops up again.

1 Like

FYI, it happens again and again - when I check out the project on another computer (binaries, build, saved, intermediate, etc. folders are not checked in, so the problem is not old cached/cocked stuff) I get the same error as stated above when I try to package the simulator.

I then delete CESIUM World Terrain, package again, it works, I hit ā€œundoā€ to put the CESIUM World Terrain in again, start packaging, it works.

Tested this on three other workstations, itā€™s consistent.

And even when everything in the end is working fine it popped up again: With 5.5. the shadow bug with instanced stereo rendering for VR was fixed, so I switched instanced stereo rendering on again. This caused everything to recompile again on packaging, and suddenly the error from abaove reapeared.

So I deleted ā€¦ - you get the drift.

Hi @Lildreas,

Very strange, I donā€™t have a ton of ideas. That particular error comes from here in the Unreal source code:
https://github.com/EpicGames/UnrealEngine/blob/5.5.1-release/Engine/Source/Runtime/CoreUObject/Private/UObject/SavePackage/SavePackageUtilities.cpp#L363

There are some comments there that might offer a hint, though nothing jumps out at me.

Have you tried recreating the Cesium3DTileset from scratch, rather than bringing it back via Undo? If so, what steps are you using to create it? For example, are you adding it via the Cesium panel? Via Place Actors? Something else?