No Bulk edit: distance field resolution scale

Hi,

at the moment its not possible to use the “bulk Edit via property matrix” to change the distance field resolution scale for multiple Objects.
I have 2 Projects in which i cannot use distance fields because my models are made up from a couple hundreds of single Staticmeshes and this would take ages to set the distance field resolution to a higher value.

Cheers
Dominic

Hi Dominic,

There have been several requests over the last couple of years for this and each time the tickets have been “backlogged” or closed out as “Won’t Fix”. Not all settings can or will be exposed to the Property Matrix.

With source code availability everyone has the opportunity to implement these types of features themselves.

-Tim

So there is this great feature that we can’t use? :frowning: I have a scene with 2600 objects and it would take about 20 hours and a large bit of sanity to go through them. Why can’t we at least set the value on import then? Also, if everybody has the opportunity to implement this themselves why was it closed as ‘Wont Fix’?

1 - Create a C++ Blueprint function library (see wiki for details), and create the following function:

void UMyPluginBPLibrary::SetDistanceFieldResolutionScale(UStaticMeshComponent * SMComponent, float NewDFResolutionScale)
{
#if WITH_EDITOR
	if (SMComponent == nullptr)
	{
		return;
	}
	UStaticMesh* Mesh = SMComponent->GetStaticMesh();
	if (Mesh && Mesh->SourceModels.Num() > 0)
	{
		Mesh->Modify();
		for (int32 i=0; i < Mesh->SourceModels.Num(); i++)
		{
			FStaticMeshSourceModel& Model = Mesh->SourceModels[i];
			Model.BuildSettings.DistanceFieldResolutionScale = NewDFResolutionScale;
		}
		Mesh->Build();
	}
#endif
}

2 - Create a Blutility that calls this function for the selected (or all) static mesh components:

Compile, save and close the Blutility editor, then double-click the Blutility to run it.

PLEASE HELP. How do I compile this code? I’m not sure how to correctly create this function in Visual Studio. I’m new to C++ Is there a tutorial? I understand the calling part. I really need this batch script to work

Error: Bad function definition

Remove UMyPluginBPLibrary:: from line 17. Because you are editing the header file, you should not specify the namespace.

I did everything you guys were saying but unfortunately I got this errors:


(I’m using UE5.3)