I have a blueprint that calls AddInstance to an instancedstatic mesh, all of the instances are invisible.
When I just place the static mesh referenced by the instanced static mesh component, it works.
When I call AddInstance in the BluePrint constructor, I can see the mesh in the blueprint editor, when I place the blueprint, there is no instanced mesh …The Quality scale is set to EPIC.
The materials used are set to Used for InstancedStaticMeshes, and the meshes work fine on their own, they have LOD set, which also work fine on their own, just not in game, when add instance is called.
Make sure the mobility is set to static (in the parent components as well). It is set to movable by default. I had the same issue but changing that worked for me.
Ah man, ok I get it, instances can;t be added in realtime… they have to be done in the editor, thanx man. I will have to revert to dynamic objects, and spawn… gonna chow the FPS, but that’s what hardware is for… lol… thanx,
just a quick hint: I also wondered why my instanced mesh are not rendered in the blueprint editor viewport.
I just got it wrong. You don’t have to add a instanced static mesh component per rendered mesh, but this one component represents all instanced meshes (should maybe be named ‘instanced meshes group’ or something):
That’s not correct, instances can be added at runtime, that’s what I’m doing right now in my project. It’s almost the entire point of instanced static meshes, however, I have found the hierarchical instanced static meshes to be better
We add at runtime too of course still to this day.
But what I meant was at the time (7 years ago) was that it was not visible when dragged from BP into the editor as it was added via construct due to a bug.
It may or may not have been fixed since then. We use Instanced Static Meshes all the time, but mostly realtime so never had to worry about this “bug” anymore.