# Inquiry on Using the screen-space-controller Feature

**URL:** <https://community.cesium.com/t/inquiry-on-using-the-screen-space-controller-feature/42191>\
**Category:** Cesium for Unreal\
**Created:** [July 21, 2025, 4:07am UTC](https://community.cesium.com/t/inquiry-on-using-the-screen-space-controller-feature/42191 "2025-07-21T04:07:49Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![equsjin](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/equsjin/32/28173_2.png) [@equsjin](https://community.cesium.com/u/equsjin)\
**Post date:** [July 21, 2025, 4:07am UTC](https://community.cesium.com/t/inquiry-on-using-the-screen-space-controller-feature/42191/1 "2025-07-21T04:07:49Z")

</div>

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:

> <https://github.com/CesiumGS/cesium-unreal/blob/main/Documentation/developer-setup-windows.md>

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.

---

<div class="post-metadata">

**Author:** ![Kevin\_Ring](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/kevin_ring/32/2003_2.png) [@Kevin\_Ring](https://community.cesium.com/u/Kevin_Ring)\
**Post date:** [July 23, 2025, 5:20am UTC](https://community.cesium.com/t/inquiry-on-using-the-screen-space-controller-feature/42191/2 "2025-07-23T05:20:37Z")

</div>

Hi @equsjin, welcome to the community!

The screen-space-controller branch was developed by a member of the community, and isn’t officially supported, so our ability to help will be limited.

I suggest as a first step that you try building a version of Cesium for Unreal that is known to work, such as the `v2.17.0` tag from our main repo. If you have trouble there, we should be able to help.

Once you have that working, you can try switching over to the screen-space-controller branch. That should at least help eliminate any potential problems with your development environment.
