Hello,
I would like to use the screen-space-controller feature of Cesium for Unreal.
For the compilation process, I referred to the following guide:
I cloned the screen-space-controller branch using the recursive Git command, then configured and built the project using CMake with x64 and version=14.36 settings.
During the build process, I encountered some Unicode-related errors while extracting ktx and httplib, but I was able to resolve them.
The CMake build completed successfully.
After clicking “Open Project” in CMake, I opened cesium-unreal-extern.sln in Visual Studio 2022.
Inside the CMakeTargets folder, I opened the properties for the ALL_BUILD project and set the C++ standard to ISO C++20 (/std:c++20). The build then succeeded.
I then followed the documentation steps to set up the sample project:
Copied the \cesium-unreal-samples\Plugins\cesium-unreal\Documentation\Source folder to \cesium-unreal-samples
Navigated to the \cesium-unreal-samples directory
Right-clicked on the CesiumForUnrealSamples.uproject file
Selected “Generate Visual Studio project files”
After opening the generated .sln file and building the project in Development Game mode via Visual Studio 2022, I encountered the following linker errors:
LNK2019: unresolved external symbol “public: __cdecl UScreenSpaceCameraController::UScreenSpaceCameraController…”
LNK2001: unresolved external symbol “public: virtual void __cdecl UScreenSpaceCameraController::StaticRegisterNatives…”
LNK1120: unresolved external symbols
It appears that the sample project cannot find or link the symbols defined in the screen-space-controller plugin code, specifically UScreenSpaceCameraController.
In the dev.Build.cs file, I added the following lines to ensure proper linking:
PublicDependencyModuleNames.AddRange(new string { “Core”, “CoreUObject”, “Engine”, “InputCore”, “CesiumRuntime” });
CppStandard = CppStandardVersion.Cpp20;
bEnableExceptions = true;
Also, note that in my Visual Studio 2022 environment, both 14.36.32532 and 14.44.35207 toolsets are installed.
Did I miss anything during the integration process to expose the screen-space-controller properly to the sample project?
If possible, would you be willing to share a working Unreal sample project that already has the screen-space-controller feature applied?
Thank you very much in advance for your support.