Issue where foliage paints on terrain, but is invisible

This video shows an issue with the foliage that I just ran into. I am using the 4.24.1 version of the engine. In the video, you’ll see at the start that both these landscapes have the same settings on them. I have a bush, tall grass, rocks and trees enabled to paint. Each landscape is in its own sub-level, and when I go to paint on the landscape on the right (i made it sand to more easily see the transition point between the two), ONLY the rocks show up. If you look at the foliage readout, it shows that the other assets have been painted, but nothing shows up. However, if I start painting on the landscape to the left, everything shows up just fine. Painting across the two at the same time gives the same result, and as you can see in the video, I am able to erase those invisible foliage assets.

In this image, I have my character standing on one of the roots of a tree that I painted in this area. I am not falling, I am standing. So it does paint the trees, but they are simply invisible.

I am at a loss as to how this happened. Did I disable something for that sub-level specifically, or on the terrain?

If anyone could help me out, or possibly confirm that this is a bug, I would be enormously grateful!

(Thanks in advance!)

  • Kind Regards


Moving the landscape that doesn’t work to a level where it does work allows me to paint foliage as expected. Also, creating a new landscape in the level that doesn’t work still gives the same result where the foliage (other than the rocks) doesn’t show up. This leads me to believe that it’s a level issue specifically, but I honestly can’t figure out what happened. Is this a setting I accidentally disabled, or Is that entire level just buggy now?

Can we take a look at your master foliage material? I’m curious there might be something in the opacity channel that’s driven by object position or local space. The instanceFoliageActor (responsible for rendering foliage) is one object. Sometimes that ends up breaking some material operations based on object position. If your foliage is part of an asset pack, one thing you could do to test is to select the working foliage in the world and drag it around. If it disappears past the same point relative to the landscape, then this is exactly the issue.

Sorry for the late reply. Life got crazy this month.

I ended up just re-creating that level and setting up the minor code related names to reference the new level. I don’t have that dysfunctional level in my project anymore, but if this issue creeps up again, I’ll definitely look into the material a bit further. The newly created level which was placed in the exact same place works though, so I don’t think it was a problem with the location in world space, otherwise those locations would disappear as well.

Thanks for the response!

I’m having that same issue. Some foliage paints on everything fine, others are only visible on certain meshes. I did discover that if you move the camera to the exact right spot, you can get the invisible meshes to re-appear, but they disappear again as soon as you move.
I really don’t want to have to set up a new level, if possible. Did anyone find a solution?

Edit: Moving the Terrain static mesh to another level fixed it, and then I was able to move it back to the original level and it still worked. No idea why this is happening though.

EditEdit: That does not work consistently, and when it does work it only makes foliage that was pre-existing visible. Anything added is still invisible.

EditEditEdit: Removing the Foliage Types and re-adding them to the Foliage panel seems to have refreshed something. It appears to be working now.

I’ve had the same problem.
Invisible foliage but still existing collisions.
The problem is culling.
Check if you have a “Cull Distance Volume” in the level.
If it is on, turn it off.
The foliage should reappear completely.
If something still does not appear, right click on the foliage → Replace With (replace it with a Static Mesh Foliage Any), then again, right click → Replace With (replace the newly replaced foliage with the original one).
Hope I can help somehow