Landscapes & Worlds · Beginner · 14 min

Add Foliage: Paint Grass, Trees and Flowers with the Foliage Tool

Use Foliage mode to paint thousands of grass blades, trees and flowers across your terrain in seconds — and learn why Unreal can draw all of them without grinding your frame-rate to a halt.

LevelBeginner Time~14 min EngineUE 5.4+ Hands-on14 checkpoints

Before this: Import Your First Landscape from a Heightmap

By the end, you'll be able to
  • Open Foliage mode and add meshes as foliage types
  • Paint, erase and selectively remove foliage with the brush
  • Control density, scale and how foliage aligns to the ground
  • Explain why foliage is instanced and why that keeps performance high

Why you don't place trees one by one

Imagine you want a meadow. You could drag a grass mesh into the level, copy it, paste it, nudge it, and repeat that a few thousand times. You'd be there until next year, and your project would crawl — because every single copy would be a separate object the engine has to track and draw.

Foliage mode solves both problems at once. Instead of placing objects, you pick a mesh and then paint it onto the world with a brush, like spray paint. One stroke can scatter hundreds of grass blades, rocks or flowers exactly where your cursor passes.

And here's the clever bit you'll hear about over and over: painted foliage is instanced. That's a performance trick — Unreal stores the mesh once and then says 'draw it again here, here and here' thousands of times very cheaply. We'll unpack what that really means as we go. For now, just know that painting a field of grass is both fast to do and fast to run.

Five words to lock in first

Tap a card to flip it

Before you paint

Tick these off so the brush has something to work with:

  • An open level with a Landscape in it (the heightmap you imported in the previous lesson is perfect)
  • At least one foliage-ready mesh in your Content Browser — a grass, tree, rock or flower static mesh
  • Roughly knowing where you want greenery, so your first strokes land somewhere sensible
  • Two minutes of patience for the very first dense paint — the editor builds the instances as you go

Paint your first foliage

Work top to bottom. Each row stays ticked even if you close the page and come back, so you never lose your place.

  1. 1Switch to Foliage mode

    At the top-left of the level editor there's an editor-mode menu (by default it's on 'Select'). Open it and choose 'Foliage'. The left panel changes into the Foliage palette — an empty box at the top to drop meshes into, with brush settings below.

    TipIf you can't find the dropdown, it's the same one you used to enter Landscape mode last lesson — Foliage sits right next to it.

  2. 2Add a mesh as a foliage type

    In the Content Browser, find a grass, flower, tree or rock static mesh. Drag it up into the big empty area at the top of the Foliage palette and drop it.

    It appears as a thumbnail tile. That tile is now a 'foliage type' — a paintable item with its own settings. Add a couple more meshes the same way if you like; you can paint several at once.

    TipTick the small checkbox on a tile to include it in the next stroke, and untick it to leave it out — handy for painting grass in one pass and trees in another.

  3. 3Aim the brush and check the size

    Move your mouse over the landscape. A faint circle follows your cursor — that's the brush. Everything inside the circle is where new foliage will land.

    In the brush settings, 'Brush Size' sets how wide that circle is. Make it big for broad meadows, small for careful detail work like flowers along a path.

  4. 4Paint

    Hold the left mouse button and drag across the terrain. Foliage scatters under the brush as you move — release to stop. Congratulations, you just placed potentially hundreds of objects in one swipe.

    Paint in short strokes and build up coverage. It's easier to add a little more than to thin out a clump you overdid.

    TipFoliage only lands on surfaces you've allowed. If nothing appears, jump to the warning below — it's almost always the 'paint surface' setting.

  5. 5Erase what you don't want

    Hold Shift while you paint (Shift + left-drag) and the brush erases foliage instead of adding it. Sweep over anywhere you want clear — a path, a clearing, the edge of a lake.

    This is how you carve negative space. Paint generously, then erase to shape it, exactly like sculpting.

    TipShift+paint only erases the foliage types that are currently ticked in the palette, so you can clear grass while leaving the trees untouched.

  6. 6Tune density and scale, then repaint

    Click a foliage tile to open its settings. 'Density' (instances scattered per area) controls how thick the coverage is. 'Scale' (often a Min/Max range) randomises each instance's size so your field doesn't look like cloned copies.

    Change a value, then paint a fresh patch to see it. A little randomised scale and rotation is the single biggest thing that makes painted foliage read as natural rather than fake.

    TipSet Scale to a range like 0.8–1.3 rather than a fixed number — varied sizes instantly kill the 'copy-paste' look.

  7. 7Walk through it

    Switch the editor-mode menu back to 'Select' and press Play. Drop in at eye level and walk through your meadow — foliage always reads completely differently from the ground than from the editor camera high above.

Painting 10,000 grass blades sounds like it should destroy performance. Why doesn't it bring the engine to its knees?

Foliage brush shortcuts

  • Left-drag Paint foliage under the brush
  • Shift Left-drag Erase the ticked foliage types under the brush
  • Ctrl Left-drag Select painted instances (in the Select tool) to move or delete them
  • Ctrl Z Undo the last stroke — works on foliage like everything else

Foliage tool vs. placing meshes by hand

Best for anything you need a lot of: grass, weeds, flowers, scattered rocks, bushes, a whole forest of trees.

You get instancing for free (cheap to render), brush-fast placement, and randomised scale and rotation so it looks natural. The trade-off is slightly less precise control over each individual item.

ChallengeTry it yourself

Turn a bare patch of terrain into a believable clearing. Paint a thick base of grass over an area, scatter a few trees on top, then erase a winding clear path through the middle. Finally, randomise the grass scale so it doesn't look cloned, and walk the path in Play.

Hint 1

Add two foliage types: a grass mesh and a tree mesh. Tick only the grass, paint the field, then tick only the tree and dab a few in.

Hint 2

To clear the path, tick only the grass type and Shift+left-drag a curving line through it — the trees stay put because they're unticked.

Hint 3

For natural grass, open the grass tile and set its Scale to a Min/Max range, then repaint a fresh patch to see the variation.

Hint 4

If a foliage type refuses to paint, re-check its paint-surface toggles before anything else.

QuizCheck yourself

1What's the main reason you paint foliage instead of copy-pasting a mesh thousands of times?

2You're holding Shift while you drag the brush. What happens?

3Your brush is over the landscape but no foliage appears when you paint. What's the most likely cause?

Finished the steps?

Mark this lesson complete

We'll remember it on your Academy page and unlock the next lesson below.

Next lesson →Intro to World Partition: How UE5 Streams Huge Open Worlds

Questions beginners ask

What kind of mesh can I use as foliage?

Almost any static mesh — grass, flowers, bushes, rocks, even small props. You just drag it into the Foliage palette to turn it into a foliage type. Meshes built for foliage (low-poly with simple cards, or Nanite-ready geometry) paint and run best, but you can experiment with anything in your Content Browser.

Where do I get grass, trees and flowers to paint with?

Unreal's Starter Content and free Fab marketplace packs include foliage meshes you can drop straight into the palette. For ready-made decorative plants, content packs like the Fantasy Flower Pack ship dozens of unique flower meshes you can add as foliage types and scatter across a scene — handy when you want variety without modelling your own.

Does deleting the original mesh delete my painted foliage?

The foliage instances reference the mesh, so removing that mesh asset from the project will break or clear the foliage that used it. Keep your foliage meshes in the project. Removing a foliage type from the palette is different — it cleans up the instances of that type, which is exactly what you want when tidying up.

My frame-rate still drops in a big foliage area — isn't instancing supposed to fix that?

Instancing makes copies cheap, but it isn't free. Very dense coverage, very heavy meshes, or huge view distances can still cost performance. Reduce density, use lighter meshes, and let Unreal cull distant instances. You'll dig into measuring this with stat commands in the Package & Share track.

Get the next lessons as they land

New Academy lessons, UE5 tips and tool releases — straight to your inbox. No spam, unsubscribe anytime.

Report a bug