Asset Brush - A must have tool for map artists!

Hey guys, I’ve just finished this plugin that for a while now ive always wished existed, so i decided to create my own.

Asset Brush is a studio plugin which allows you to place assets at random positions within a brush area, much like the terrain editor. It has multiple use cases such as quickly placing foliage in a natural way, creating debris piles and quick and precise general asset placement if you fine tune the brush.

Developers have access to a range of features such as casting to normals, random scaling up to a selected scale, and random rotation controlled on each axis.

Asset Brush also allows the developer to place multiple different assets at the same time quickly selecting and deselecting each asset and controlling the weights of each to determine individual frequency.

The brush also includes a built in Redo and Undo to quickly fix any mistaken brush strokes.

Brush Settings currently include:
Size - the size of the brush with an indicator to show where the assets will be placed.
Density - a setting that determines how many assets are placed within the brush area (currently set to 1 asset for every 5X5 Studs within the brush at a density of 1)
Spacing - the distance of which you have to move the brush before it places the next bunch of assets (determined by a factor of the brush size)

These features combine to provide a tool that is intuitive at first pick up while still providing control and precision to the more experienced users.

Here are some videos showcasing the tool in use and how to add assets to the brush.

My Use of the Brush.

Here’s the plugin:

[Note]: This is my first plugin therefore i expect some bugs and things that i haven’t thought about. Please don’t hesitate to contact me directly or in response to this post about clarification, Bugs or features you’d like to see!


That’ll be incredibly useful for tree placement. I’ve always struggled with making them spread out and it always ends up looking bad.
This has gone straight into my studio. Thanks!


This is the same thing as the brush tool?


Exactly something I’ve wished I had.

It’d be nice if I could customize the preview floor, though. Depending on the screen and colors I use, some things may be hard to see in the preview.
Additionally could this be altered to generate in different shapes and set areas? For example can I use a cube instead of a sphere area? Can I create a box covering a large area and this will generate models throughout the area that box covers?
What if I could choose areas or instances that will not have models generated over them? Say I had a path running through a forest and I wanted to brush over the grass area without having to manually avoid touching the path?


I believe that this will quench all the pain for terrain devs doing duplication and then pasting the trees down manually. It will serve well to the MILSIM community especially due to their interest in having complex flora for their in-game events with lush greenery.


I don’t see the point in this plugin there’s another one that does the same thing and has more features


These are some really good ideas! I’ll have a look at adding them in, thanks.

Wait a second this is just the brush tool. The brush tool plugin has more features. Why use this over that?

1 Like

I hadn’t realised that plugin existed before making this one, despite that I plan to include many more features which will surpass the brush tool currently out there.

The preview aswell is very handy and I also plan to have brush saves you can quickly and easily switch between brush modes for example placing trees, to placing grass/bushes and then also meshed cobbled pathways and any other uses you could think of.

This is the first release of the plugin and continuous development is a part of that release, all feature suggestions and bugs will be looked into and regular updates will be provide :slight_smile:


What is the proper way to add my own assets.

It appears it wants it to be a model. I added a model, and a part, and a model and a mesh, but when I see them in my assets and select one, then try to draw it does nothing.

It does spit out an error in output.

10:18:16.944 cloud_15972028895.Asset Brush.Brush:232: attempt to index nil with ‘Parent’ - Edit
10:18:16.944 Stack Begin - Studio
10:18:16.944 Script ‘cloud_15972028895.Asset Brush.Brush’, Line 232 - function Redo - Studio
10:18:16.944 Script ‘cloud_15972028895.Asset Brush.UI Setup’, Line 295 - Studio
10:18:16.945 Stack End - Studio
10:19:41.382 Flat Terrain.rbxl auto-recovery file was created - Studio

Flat Terrain.rbxl (69.3 KB)

Here is the .rbxl

Also will this when working, paint on top of a part? Or is is just paint on terrain?



So to add an asset to the brush you first click add new, then to add the model you select the model in studio, then press [Get Selected] button and it should update that asset with the selected model, make sure to click confirm when your done editing the properties of an asset:

from the error you provided, it is an error with the undo redo buttons, perhaps you pressed them before starting the brush, or started brushing? I will look at fixing this now.

Yes the brush can paint over any surface, terrain or parts, it automatically excludes painting over itself you you don’t end up with trees stacked on top of each other. I am currently designing a nice way to add hitbox detection so that way you can create temporary hitboxes around your map which will not be painted on, aswell as hitboxes for assets being painted so you cant get 2 trees clipping into each other for example.

Hope this helps!

i do intend on adding parts and meshes into the code so assets don’t have to be a model, also note that the assets are placed relative to the pivot point of the model, therefore its important to modify your assets pivot position, i do plan at some point to make a button for calculating the pivot but there are a few priority features im working on first.

Ok, I figured out what was wrong, or what I did wrong, in your .rbxl file, you have a Asset Folder, and I first put some models in that folder, and then added them or tried to … it did not like that… I see now, the asset folder is where things that are brushed get put…

so if the model is elsewhere before you add it, it works…

One thing that might be cool is a size randomizer with range values, like scale 10 % smaller then original (like to make different tree sizes… and also random rotation, so like the trees do not have the same rotation… then to go even more , a slight tilt on the Y access, like… trees do not always grow straight up…

double bonus would be a field with the folder name changeable ie instead of always asset folder… so you could brush with tree folder, rock folder, pretty flowers folder… (yes I know we can manually rename them… :slight_smile: ) …

also what is the asset option of cast normal mean?

and finally GREAT JOB on this, I love how we can put our own models in it! Thanks for creating and sharing it!
U Rock!

1 Like

Thanks! I’ll look into a more appropriate solution for or naming for the folders used by the plugin this weekend.

There is currently a scale modifier however it is limited to scaling only upwards, so to achieve a scale for now, model your trees at the smallest size you want it to be and then where it says scale random put a number i.e 1.5 and your trees will be random.

Same thing for rotation, the rotation X, Z and Z can be used to randomly angle the tree between degrees of your choosing, I usually go for x = 5 y = 360 X = 5 for trees to be angled nicely

Also for trees turn cast normals off, cast normals basically means the model will adopt the angle of the surface it’s placed on, useful for things like grass and smaller stuff but trees turn it off.

Like I say, I’ll have a look at folder renaming and making it more clear what to do with them this weekend!

Glad you like it

1 Like