Geometry set Location

Hey!
Another question :slight_smile:

When I set a geometry like a box or cone in world, i can maniputel brush settings.
When I add a staticmesh I have freedom to set location (x,y,z).
Why don’t I have locationsettings for brushes too?

Thanks.

Hey ,

This currently isn’t an option in UE4, but we have a feature request in our system to be able to enter specific values for geometry brush placement.

Thanks for your feedback!

Thanks for your answer. Are there any benefits from transforming geometry brush to a static mesh?

Geometry brushes are really great for blocking out levels and testing basic functionality, but they don’t perform as well as Static Meshes so you’d eventually want to convert everything from brushes before releasing your game. Brushes don’t handle light, collision, or physics in same way as your Meshes, and there are known issues with scaling and modeling with them. Once you’re satisfied with size of your brush, converting it to a Static Mesh will give you more options and be closer to your final product.

There’s some good information on Geometry Brushes here, if you want to see what they’re specifically good for:

But again, you’ll probably want to switch to Static Meshes at some point in your development.

following works just fine for me and sets location of a brush added via C++, I do this within PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) of my Actor as that seems to be only way to do this in editor.

UWorld* World = GEditor->LevelViewportClients[0]->GetWorld();
ABrush* newBrush = World->GetBrush();

//BaseBrush is a public "Brush" property that I'm using
//but, you could set any location here to specifically answer your question
newBrush->SetActorLocation(BaseBrush->GetActorLocation());

UCubeBuilder* cubeBuilder = Cast<UCubeBuilder>(GEditor->FindBrushBuilder(UCubeBuilder::StaticClass()));
cubeBuilder->X = 1000;
cubeBuilder->Y = 1000;
cubeBuilder->Z = 200;
cubeBuilder->Build(World, newBrush);
GEditor->Exec(World, TEXT("BRUSH ADDED"));	
GEditorModeTools().MapChangeNotify();