How to add blueprint to the foliage paintbrush?

Hello all,

I did a tutorial a little while ago, and the author used the foliage brush to place a handful of objects randomly on the floor. While it works fine with static meshes, I would like to use it to place blueprints. Is there a way to do this? Dragging the blueprint to the foliage window does nothing.

Thank you

Hi, enable ProceduralFoliage in the EditorPreferences. Then right click in the content browser -> Foliage -> ActorFoliage

Thank you very much, I appreciate the help.

I found this.


It helped me setup something, but not quite what I wanted. I still can’t add my BPs to the foliage window, but that’s alright, I’ll try something else for now. =)

This will be possible in 4.26 (I think)

Oh nice, thank you for the info =)

Even if it does not come out with .26 at least now I know its gonna be a feature at some point while I continue to lean UE haha.

adding bp to foliage is a bad idea.
you should use a replacement system or something similar.
for instance (even if im biased since I made it ;P)

Actor Foliage already exists in 4.25 =)
If you’re tired placing BPs by dragging them from the content browser or duplicating them in the level and then position them by hand, then this feature comes in quite handy.

Paintable actor foliage?

Edit: Appears you’re right! Awesome, thanks for pointing this out :smiley:

I’ll check it out =)

I’ve enabled ProceduralFoliage like you said, but dragging my BP, which is only a pot to the foliage window does nothing, meshes work fine though.

I just want to scatter the pots around instead of dragging them or copy/pasting them.

Create an Actor Foliage asset and then in its settings, set the “Actor Class” to your pot BP. Drag the actor foliage asset into the foliage window.

Ohhhh… I’ll go test it out, thank you very much =)

Edit: Got it working, thank you all. For anyone else looking at this, you have to create a landscape as well or the brush wont show, I had to for mine.

Weird, the foliage tool should have nothing to do with the landscape. You can place instances on meshes…

I’m not sure what to say, I know very little when it comes to UE, as you can see with all the questions I ask haha. I clicked the foliage tool and added some meshes, regular ones and nothing showed up, I tried with the actor foliage asset that Arkiras suggested and again nothing, only when I created a landscape did it start working.

My new issues is that, I can only paint foliage (my bp and other meshes) on the ground of the landscape, problem for another thread.

Personally I just tested it in the default first person template level with no landscape, so it definitely works. No idea what the problem could be in your case.

Re the other issue. The ui changed so I don’t know where its up, but you have a set of checkbooks that define what the brush places meshes on.
if you need them on static meshes you can toggle the option on.

Ya, it’s a strange issue my project has then.

Yes, the filter, I moussed over it and it says “Filters where foliage instances can be placed”. Landscape is the only filter it works on. I think there is something broken with my project or I clicked something, I’m not sure.

I want to say thank you, to both of you for sticking around and helping me with my project, thank you! =)

Edit: When I choose a filter type other then landscape, the brush disappears like before. I guess that was the reason I had to make a landscape before it started to work. I wonder why it’s stuck to the landscape for me…

Separately, foliage that turns into instanced static meshes (animated only by material shaders) are quite efficient for the CPU and renderer. If you place that many blueprint actors, then you will cause much higher load on the CPU and renderer.

Thanks, jwatte. My initial intent was to use this in a cave, or other instanced area and scatter 50-100 of the pots around the level, something that can be destroyed.

I’ll remember it has a performance impact. I also have to check out MostHost LA’s program too.

The only performance cost should be coming from whatever you are doing inside the blueprint. Static mesh components inside blueprints that can be instanced (meaning they share the same mesh and material) will automatically get instanced as of 4.22.

I’m currently adding 6 different pots to an array, then getting the location of the mesh, and finally randomizing one of the 6 pots to replace the mesh and populate the world.

The BP runs once per pot, just to give some randomness, performance be damned for now haha.