Accessing Brush Vertices

I’m currently setting up a system where I want to be able to access the vertices on a volume.
The problem is that I can’t access the “BrushBuilder” variable or its Getter, as they are with editor data only.

Is there any way around this, or another method for accessing the same vector variables?

There is another option, which I would prefer, is having access to every pixel inside the volume.
Any ideas?



I have the same usecase, this worked for me:

TArray<FVector> vertices = TArray<FVector>();
	TResourceArray<FModelVertex, 0U> modelVertices = volumeOrBrushActor->Brush->VertexBuffer.Vertices;

	for (FModelVertex vert : modelVertices)
		const FVector WorldSpaceVertexLocation = volumeOrBrushActor->GetActorLocation() + GetTransform().TransformVector(vert.Position);

	return vertices;

I wasn’t able to figure out how to access every pixel inside the volume but the many vert/point variables under volumeOrBrushActor->Brush might hold a clue. Eventually I realized I didn’t need to access every pixel for my requirement as I could just use the volume function to check whether a given point encompasses a volume like this:


See this post for more with Rama’s explanation for accessing static mesh vertices as well:

Hope this helps.