Landscape components go invisible with tessellation

Should we wait for another release or it’s going to be a fix we can apply to 4.13.1 ?
Thanks.

It’s likely (unfortunately) that the full fix is going to have to wait for 4.14.

But if you’re comfortable with engine-level changes, I should be able to give you a small (and nasty!) change which will make 4.13 work for you.

Ok, for anyone still experiencing this issue in 4.13.1, you’re going to have to make an engine source code change:

In /Engine/Source/Runtime/Landscape/Private/LandscapeRender.cpp, ~line 2600, add the following function to class FLandscapeMaterialResource (I put it just after the constructor):

	void GetShaderMapId(EShaderPlatform Platform, FMaterialShaderMapId& OutId) const override
	{
		FMaterialResource::GetShaderMapId(Platform, OutId);

		if (bIsLayerThumbnail || bDisableTessellation)
		{
			FSHA1 Hash;
			Hash.Update(OutId.BasePropertyOverridesHash.Hash, ARRAY_COUNT(OutId.BasePropertyOverridesHash.Hash));

			const FString HashString = TEXT("bOverride_TessellationMode");
			Hash.UpdateWithString(*HashString, HashString.Len());

			Hash.Final();
			Hash.GetHash(OutId.BasePropertyOverridesHash.Hash);
		}
	}

This is not the final fix!

I don’t have a LandscapeRender.cpp in the path you mentioned

Am I looking at the right place?

You need the engine source code, you only have the headers.

Otherwise just wait, the fix will be in a future release.

Just tested the fix you’ve posted and it works for now. Thanks.

We have the exact same problem in our current Project. Took a while to figure out (and find this forum post) that it is due to Tesselation on the Landscape.

Sadly we have heavy Tesselation in all Levels so basically it’s a rollback to 4.12 for us, or try make suggested temp fixes in the engine. Kinda bummer looking forward to finally converting project to 4.13 and getting the new goodies haha :slight_smile:
Oh well, rollback will be fast in git at least :open_mouth: