InstancedFoliageActor_0 Static Mesh actor has NULL StaticMesh property

A rebuild always generates this warning twice:
InstancedFoliageActor_0 Static Mesh actor has NULL StaticMesh property

After long investigations I finally decided to delete all foliage. The warning is still there with no foliage left.

Any ideas?

Am I really the only one who ever ran into that problem?

Yep. It must be due to some custom coding you are doing for something else that affects foliage?

Also, potentially you compromised the foliage actor. Deleting all foliage does not delete the actor. Delete the actor and try adding new foliage in, see if it persists.

Sorry for the necro. I just encountered this myself and I’m not using any special coding in UE 5.
My specific message is:
InstancedFoliageActor_25600_1_1_-1 Static mesh actor has NULL StaticMesh property. It’s a warning, not an error.

Same thing.
If all your foliage actors actually have a mesh assigned, then the only way to remove the warning is to target the specific instance and delete it - which is often impossible.

Yeah, I came here because of that “Imposible” situation. Really strange. I wonder if someone can come up with a tool that removes items with NULL meshes from a level?

Just make a bluetility for it.

The foliage actor is a list of instanced meshes.
Mostly Accessible via blueprint (check dynofoliage in the marketplace).

Removing invalid instances should be somewhat trivial via code.

Looping over all instances is however probably impossible - processing time wise- with in engine bluetility.
So you have to devise a way that doesn’t loop.

In theory that should not be an issue because all meshes are listed within the actor. You should be able to spot the invalid/null mesh, select all related instances and delete them.
Or maybe just assign a mesh programmatically.

Note that it may take you less time to duplicate the level, delete the foliage, and start over.

I think I have a solution,
I clicked on them from the log and their details shown, I then clicked on the make blueprint button and turned them intro blueprint actor,
then I saved and deleted them from content browser now that they show up in content browser and build again and voila the warnings r gone

Solution!
Select all foliage mashes, and use re-apply tool.

Hello,

@Parazso The re-apply tool didn’t work for me, e.g. the warnings were still there.

What actually helped was to click on the warning message in the MapCheck window and then to go into the details panel and select each FoliageInstancedStaticMeshComponent_[x]. I then looked at the Static Mesh property, and saw one of those had “None” instead of one of my foliage meshes. I then just deleted the FoliageInstancedStaticMeshComponent_[x] by right-clicking on it and then select delete. Voila! the warning was gone, or in my case one less.


And to stress that one out too… You dont specifically need to delete the component, if you remember the static mesh it once had, and of course if you still have it, you can just drag it in the Static Mesh property where it says none.

The warning is basically quite simple, it says that you have an actor in your level which probably once had a mesh and for some reason it was deleted from the actor. So the MapCheck basically just says: “hey you have an actor without any mesh, i kindly ask you do something about it” :wink: . In the case of this warning the solution is just a step more tedious as usual, i had to understand that i can access the content of a InstancedFoliageActor by going into the details window and then by going through the properties of the components looking out for the Static Mesh.

May notbbe that simple for instances.
Usually the foliage actor stores up/places mesh entities.

Only way i know how to fix it is to loop and validate/remove any non valid instance…