I have the same problem as this guy here:
And it seems that to solve it I have to make a slight adjustments to the source code.
The problem with it is that each time I update my engine’s version I will have to download the new source, modify it and rebuild it.
And all that instead of just using the launcher version conveniently like almost everyone else does.
The question is why do I even have to do this?
Isn’t it obvious it shouldn’t delete sections that has higher index value than the one I’m updating?
Do I “officially” have to recreate all the sections that has higher index value then the section I’m editing? This is just bringing to a lot of performances hits.
Why isn’t it just comes as:
if(SectionIndex > ProcMeshSections.Num()+1)
ProcMeshSections.SetNum(SectionIndex + 1, false);
instead of:
// Ensure sections array is long enough
ProcMeshSections.SetNum(SectionIndex + 1, false);
Inside the:
void UProceduralMeshComponent::CreateMeshSection(int32 SectionIndex, const TArray<FVector>& Vertices, const TArray<int32>& Triangles, const TArray<FVector>& Normals, const TArray<FVector2D>& UV0, const TArray<FColor>& VertexColors, const TArray<FProcMeshTangent>& Tangents, bool bCreateCollision)
function.