UE5.3.2 Cesium Fails to Package for Windows Due to Slate Errors

Hello,

Our team is attempting to include Cesium in a shipping-packaged game. Cesium compiles and works great while in-editor, but when we attempt to perform a shipping build, we get a number of unresolved external symbol errors errors related to slate. I’ve uploaded a build log here, highlighting the errors in question: https://pastebin.com/raw/NCMTJN7Y

Also worth noting that I faced another issue prior to this: Cesium for Unreal v2.7.0 Build Errors

Packaging For: Windows Shipping / Development
Unreal Version: 5.3.2 (source build)
Cesium Version: 2.7.0 (pre-built download from GitHub release page)
Visual Studio: 2022 (tried w/ 17.5.3 and 17.10.3)

Failed fix attempts so far:

  • Upgrade Visual Studio to 17.10.3
  • Reinstall Cesium plugin from GitHub
  • Reinstall Cesium plugin from UE Marketplace
  • Reverting to Cesium 2.5.0
  • Rebuilding w/ VS 2019, but it seems that UE 5.3.2 doesn’t support VS 2019

Any idea what could be causing this?

I found a mention that the Cesium plugin requires the Unreal project to be packaged with VS 2017. This page was last updated a year ago, but how are we supposed to package a project if Unreal 5.3.2 doesn’t even support VS 2017?

On Windows, packaging the Cesium for Unreal plugin on Windows requires Visual Studio 2017. This means you must also build cesium-native with Visual Studio 2017 in order for plugin packaging to be successful. But if you’re not concerned with packaging, you can use Visual Studio 2019 exclusively.

Source: cesium-unreal/Documentation/developer-setup.md at main · CesiumGS/cesium-unreal · GitHub

Update:

I was able to resolve this by including the “Slate” and “SlateCore” modules in PublicDependencyModuleNames regardless of whether Target.bBuildEditor == true. I am able to package the project now in UE 5.3.2 (source build), Cesium 2.7.0 (from GitHub), and VS2022 (17.10.4).

If anyone on the Cesium team could still review this post and provide an explanation of why “Slate” and “SlateCore” were moved to only be included in editor builds, that would be really helpful. Without it I am unable to package Cesium. Looks like it happened in this commit: Tileset and dependency cleanup. · CesiumGS/cesium-unreal@f017bbd · GitHub