These are definitely breaking changes for C++ projects. I don’t recommend upgrading without researching first. Specific examples, that I admit are documented in the changelog as breaking changes, are not adequately addressed. For example, the GetUnrealWorldToEllipsoidCenteredTransform
and GetEllipsoidCenteredToUnrealWorldTransform
changes are particularly major issues as the recommended replacements (TransformUnrealToEcef
and TransformEcefToUnreal
aren’t really replacements. The original methods return a matrix, while the replacements return a vector. In my case I have code based on the aircraft track example that needs to compute the up vector for orienting a satellite. I’m not just transforming ECEF to Unreal, I need the transform matrix. The change log should be updated with examples that help users adapt to these types of significant changes or provide references to such examples. I changed my original code from
const glm::dmat4& ecefToUnreal = this->CesiumGeoreference->GetEllipsoidCenteredToUnrealWorldTransform();
to
const GeoTransforms& geoTransforms = this->CesiumGeoreference->GetGeoTransforms();
const glm::dmat4& ecefToUnreal = geoTransforms.GetEllipsoidCenteredToAbsoluteUnrealWorldTransform();
Last note, if your project fails to load in the editor due to missing DLL symbols, nuke your project/Binaries/Win64 directory and rebuild. That should fix the problem.