Project cant be started after updating plugin

Hello played around with cesium for unreal few weeks back. I now saw that there is an update suggested in the launcher for the cesium for unreal plugin. I updated the plugin and now I can not open my project anymore. Can you please advice ?

Cesium4Unreal

Thanks in advance

Hi @Dreamless,

Do you know which version you updated from? Additionally, are you using custom C++ in your project, or have you modified any of the Cesium classes/blueprints?

Hi @Dreamless,

That method has been renamed; it’s listed as a breaking change in the changelog. A runtime error like that is very strange, though. I would expect to either see a transparent upgrade to the new name (if the function is being used from Blueprints), or a compiler error (if the function is used from C++).

I think the first thing to try is to delete your Binaries directory, to force Unreal to recompile your project with the new version of the plugin. Hopefully that will help!

Kevin

1 Like

Hello @agallegos and @Kevin_Ring,

so I wasnt able to launch the project after deleting the binary folder because the rebuild did fail. So I invested the project in my IDE and it seems like I found the problem. My project contains various of your tutorials from your documentation. It also contains this one Build a Flight Tracker with Cesium for Unreal – Cesium. A little bit into the tutorial you provide the following snipped.

void APlaneTrack::LoadSplineTrackPoints()
  {
    if (this->AircraftsRawDataTable != nullptr && this->CesiumGeoreference != nullptr)
    {
      int32 PointIndex = 0;
      for (auto& row : this->AircraftsRawDataTable->GetRowMap())
      {
        FAircraftRawData* Point = (FAircraftRawData*)row.Value;
        // Get row data point in lat/long/alt and transform it into UE4 points
        double PointLatitude = Point->Latitude;
        double PointLongitude = Point->Longitude;
        double PointHeight = Point->Height;

        // Compute the position in UE coordinates
        glm::dvec3 UECoords = this->CesiumGeoreference->TransformLongitudeLatitudeHeightToUnreal(glm::dvec3(PointLongitude, PointLatitude, PointHeight));
        FVector SplinePointPosition = FVector(UECoords.x, UECoords.y, UECoords.z);
        this->SplineTrack->AddSplinePointAtIndex(SplinePointPosition, PointIndex, ESplineCoordinateSpace::World, false);

        // Get the up vector at the position to orient the aircraft
        const CesiumGeospatial::Ellipsoid& Ellipsoid = CesiumGeospatial::Ellipsoid::WGS84;
        glm::dvec3 upVector = Ellipsoid.geodeticSurfaceNormal(CesiumGeospatial::Cartographic(FMath::DegreesToRadians(PointLongitude), FMath::DegreesToRadians(PointLatitude), FMath::DegreesToRadians(PointHeight)));

        // Compute the up vector at each point to correctly orient the plane
        glm::dvec4 ecefUp(upVector, 0.0);
        const glm::dmat4& ecefToUnreal = this->CesiumGeoreference->GetEllipsoidCenteredToUnrealWorldTransform();
        glm::dvec4 unrealUp = ecefToUnreal * ecefUp;
        this->SplineTrack->SetUpVectorAtSplinePoint(PointIndex, FVector(unrealUp.x, unrealUp.y, unrealUp.z), ESplineCoordinateSpace::World, false);

        PointIndex++;
      }
      this->SplineTrack->UpdateSpline();
    }
  }

After Updating the plugin it seems like some things have changed because CesiumGeoreference seems to not have the function TransformLongitudeLatitudeHeightToUe anymore and so is GetEllipsoidCenteredToUnrealWorldTransform.

Could you tell me where those methods went to or if you introduced other methods ?

Best regards,
Dreamless

Hi @Dreamless,

Alex posted some information here on how to upgrade to v1.7.0:
https://community.cesium.com/t/cesium-for-unreal-v1-7-0-has-been-released-here-s-a-guide-to-upgrading

Kevin