Can Cesium plugin work without C++17?


I have a project using Cesium in C++. I use CesiumGeoreference in C++ to convert location from Unreal to WGS.

It works well with Unreal 4.26 and CesiumPlugin 1.6.
I have updated Unreal to 4.27 and the last version of CesiumPlugin

When i include “CesiumGeoreference.h”, i have this error:
Erreur C2039 ‘optional’ n’est pas membre de ‘std’ … Ellipsoid.h

I have added C++17 support in Build.cs:
CppStandard = CppStandardVersion.Cpp17;

Now i have no error with Ellipsoid.h
But c++17 is not compatible with another external librairie i use in my project.

Is it possible to use Cesium plugin without C++17 ?

Hi @Greg2021,

No, Cesium for Unreal requires C++17 for any .cpp file you’re #include’ing any of its headers into. You might get lucky and it’ll work without C++17 in some cases and in some versions, but it is not officially supported.

If you have other code that can’t work with C++17, I suggest isolating that code in a separate module (compiled without C++17) and providing an interface to it that can be called from the main C++17-using code.