Landscape proxies keep moving to same location as parent Landscape

When loading my World Partition or Cooking the game, I get the following logs:

LogLandscape: Warning: ULandscapeHeightfieldCollisionComponent RelativeLocation disagrees with its section base, attempted automated fix: ‘LandscapeHeightfieldCollisionComponent /Game/Maps/Tandara_Map.Tandara_Map:PersistentLevel.LandscapeStreamingProxy_9B9TDQH9KM2Q6O62Q9NSSJRTY_252_4_5_0.LandscapeHeightfieldCollisionComponent_1’, 0.000000,126.000000 vs 1008.000000,1386.000000.
LogLandscape: Warning: ULandscapeHeightfieldCollisionComponent RelativeLocation disagrees with its section base, attempted automated fix: ‘LandscapeHeightfieldCollisionComponent /Game/Maps/Tandara_Map.Tandara_Map:PersistentLevel.LandscapeStreamingProxy_9B9TDQH9KM2Q6O62Q9NSSJRTY_252_4_5_0.LandscapeHeightfieldCollisionComponent_2’, 126.000000,0.000000 vs 1134.000000,1260.000000.
LogLandscape: Warning: ULandscapeHeightfieldCollisionComponent RelativeLocation disagrees with its section base, attempted automated fix: ‘LandscapeHeightfieldCollisionComponent /Game/Maps/Tandara_Map.Tandara_Map:PersistentLevel.LandscapeStreamingProxy_9B9TDQH9KM2Q6O62Q9NSSJRTY_252_4_5_0.LandscapeHeightfieldCollisionComponent_3’, 126.000000,126.000000 vs 1134.000000,1386.000000.
LogLandscape: Warning: LandscapeComponent SectionBaseX disagrees with its location, attempted automated fix: ‘LandscapeComponent /Game/Maps/Tandara_Map.Tandara_Map:PersistentLevel.LandscapeStreamingProxy_9B9TDQH9KM2Q6O62Q9NSSJRTY_252_4_5_0.LandscapeComponent_328’, 1008,1260 vs 0,0.
LogLandscape: Warning: LandscapeComponent SectionBaseX disagrees with its location, attempted automated fix: ‘LandscapeComponent /Game/Maps/Tandara_Map.Tandara_Map:PersistentLevel.LandscapeStreamingProxy_9B9TDQH9KM2Q6O62Q9NSSJRTY_252_8_9_0.LandscapeComponent_624’, 2016,2394 vs 0,126.
LogLandscape: Warning: LandscapeComponent SectionBaseX disagrees with its location, attempted automated fix: ‘LandscapeComponent /Game/Maps/Tandara_Map.Tandara_Map:PersistentLevel.LandscapeStreamingProxy_9B9TDQH9KM2Q6O62Q9NSSJRTY_252_8_9_0.LandscapeComponent_593’, 2142,2268 vs 126,0.
LogLandscape: Warning: LandscapeComponent SectionBaseX disagrees with its location, attempted automated fix: ‘LandscapeComponent /Game/Maps/Tandara_Map.Tandara_Map:PersistentLevel.LandscapeStreamingProxy_9B9TDQH9KM2Q6O62Q9NSSJRTY_252_8_9_0.LandscapeComponent_625’, 2142,2394 vs 126,126.
LogLandscape: Warning: ULandscapeHeightfieldCollisionComponent RelativeLocation disagrees with its section base, attempted automated fix: ‘LandscapeHeightfieldCollisionComponent /Game/Maps/Tandara_Map.Tandara_Map:PersistentLevel.LandscapeStreamingProxy_9B9TDQH9KM2Q6O62Q9NSSJRTY_252_8_9_0.LandscapeHeightfieldCollisionComponent_0’, 0.000000,0.000000 vs 2016.000000,2268.000000.
LogLandscape: Warning: ULandscapeHeightfieldCollisionComponent RelativeLocation disagrees with its section base, attempted automated fix: ‘LandscapeHeightfieldCollisionComponent /Game/Maps/Tandara_Map.Tandara_Map:PersistentLevel.LandscapeStreamingProxy_9B9TDQH9KM2Q6O62Q9NSSJRTY_252_8_9_0.LandscapeHeightfieldCollisionComponent_1’, 0.000000,126.000000 vs 2016.000000,2394.000000.
LogLandscape: Warning: ULandscapeHeightfieldCollisionComponent RelativeLocation disagrees with its section base, attempted automated fix: ‘LandscapeHeightfieldCollisionComponent /Game/Maps/Tandara_Map.Tandara_Map:PersistentLevel.LandscapeStreamingProxy_9B9TDQH9KM2Q6O62Q9NSSJRTY_252_8_9_0.LandscapeHeightfieldCollisionComponent_2’, 126.000000,0.000000 vs 2142.000000,2268.000000.
LogLandscape: Warning: ULandscapeHeightfieldCollisionComponent RelativeLocation disagrees with its section base, attempted automated fix: ‘LandscapeHeightfieldCollisionComponent /Game/Maps/Tandara_Map.Tandara_Map:PersistentLevel.LandscapeStreamingProxy_9B9TDQH9KM2Q6O62Q9NSSJRTY_252_8_9_0.LandscapeHeightfieldCollisionComponent_3’, 126.000000,126.000000 vs 2142.000000,2394.000000.
LogLandscape: Warning: LandscapeComponent SectionBaseX disagrees with its location, attempted automated fix: ‘LandscapeComponent /Game/Maps/Tandara_Map.Tandara_Map:PersistentLevel.LandscapeStreamingProxy_9B9TDQH9KM2Q6O62Q9NSSJRTY_252_8_9_0.LandscapeComponent_592’, 2016,2268 vs 0,0.

When seeing their position in the editor, they are all at the same location as the parent landscape. Here is a print of the details of the parent landscape:

And here is a print of the landscape proxies:

When I open the game or load the World Partition in the editor, all of the landscapes are clumped together. I have tried exporting the height map and recreating the landscape, but it gives me a 253x253 resolution heightmap, which is too small for the current size of the map. How can I fix this?

In my editor, it is currently bugged. However, for my builds, I added the !IsRunningCookCommandlet condition before the ‘attempted automated fix’ fix. The landscape proxies are now correctly placed and with working collision.

On Landscape.cpp:

//Do not attempt to change landscape proxy's location if it is cooking
if (!IsRunningCookCommandlet())
{
    if (ensure(LandscapeProxy))
    {
       // Ensure that the component's lighting settings matches the actor's.
       UpdatedSharedPropertiesFromActor();

       // check SectionBaseX/Y are correct
       const FVector LocalRelativeLocation = GetRelativeLocation();
       int32 CheckSectionBaseX = FMath::RoundToInt32(LocalRelativeLocation.X) + LandscapeProxy->LandscapeSectionOffset.X;
       int32 CheckSectionBaseY = FMath::RoundToInt32(LocalRelativeLocation.Y) + LandscapeProxy->LandscapeSectionOffset.Y;
       if (CheckSectionBaseX != SectionBaseX ||
          CheckSectionBaseY != SectionBaseY)
       {
          UE_LOG(LogLandscape, Warning, TEXT("LandscapeComponent SectionBaseX disagrees with its location, attempted automated fix: '%s', %d,%d vs %d,%d."),
             *GetFullName(), SectionBaseX, SectionBaseY, CheckSectionBaseX, CheckSectionBaseY);
          SectionBaseX = CheckSectionBaseX;
          SectionBaseY = CheckSectionBaseY;
       }
    }
}

I also commented SetRelativeLocation_Direct(LocalRelativeLocation);, located below if (GIsEditor && !HasAnyFlags(RF_ClassDefaultObject)).

And on LandscapeCollision.cpp:

`if (!IsRunningCookCommandlet() && !HasAnyFlags(RF_ClassDefaultObject) && IsValidChecked(this))
{
bShouldSaveCookedDataToDDC[0] = true;
bShouldSaveCookedDataToDDC[1] = true;

ALandscapeProxy* LandscapeProxy = GetLandscapeProxy();
if (ensure(LandscapeProxy) && GIsEditor)
{
   // This is to ensure that component relative location is exact section base offset value
   FVector LocalRelativeLocation = GetRelativeLocation();
   float CheckRelativeLocationX = float(SectionBaseX - LandscapeProxy->LandscapeSectionOffset.X);
   float CheckRelativeLocationY = float(SectionBaseY - LandscapeProxy->LandscapeSectionOffset.Y);
   if (!FMath::IsNearlyEqual(CheckRelativeLocationX, LocalRelativeLocation.X, UE_DOUBLE_KINDA_SMALL_NUMBER) ||
      !FMath::IsNearlyEqual(CheckRelativeLocationY, LocalRelativeLocation.Y, UE_DOUBLE_KINDA_SMALL_NUMBER))
   {
      UE_LOG(LogLandscape, Warning, TEXT("ULandscapeHeightfieldCollisionComponent RelativeLocation disagrees with its section base, attempted automated fix: '%s', %f,%f vs %f,%f."),
         *GetFullName(), LocalRelativeLocation.X, LocalRelativeLocation.Y, CheckRelativeLocationX, CheckRelativeLocationY);
      LocalRelativeLocation.X = CheckRelativeLocationX;
      LocalRelativeLocation.Y = CheckRelativeLocationY;
      SetRelativeLocation_Direct(LocalRelativeLocation);
   }
}`