"Instanced Static Mesh" incompatible with "Get Hit Result Under Cursor by Channel" ?

I’m confused by this, hopefully it will turn out I’ve forgotten a simple setting somewhere…

I have an object in my level, created by a blueprint construction script which adds an InstancedStaticMesh (using Cube as the mesh) and 100 times calls Add Instance to create a grid. These instances appear in the editor, they are lit and textured, everything appears to be behaving.

(NB. I’m not currently doing anything in the game which requires physics - everything can be fixed/kinematic. )

In the game, I’m trying to have the player interact with this object using the mouse (or, later, touch - but I’m dealing with the mouse first.) For this, in the Controller blueprint I am using “Get Hit Result Under Cursor by Channel” to determine what the mouse is clicking on. But the result of this function is never on the surface on my InstancedStaticMesh. Other things in the level that I have placed with Cube Brushes and so on, seem to be fine. But my InstancedStaticMesh appears to be invisible to this function, and where I click on it the result returned is actually the floor beneath.

Do I have to set a some specific property for my object to be considered for Hit Results?

Check to see that your mesh has a collision mesh, and its collision settings are set up correctly in the Static Mesh Component, try setting it to BlockAll.


The Details panel for the “Add Instanced Static Mesh” does appear to show that it is using the “BlockAll” collision preset. I have also tried adding calls to “Set Actor Enable Collision” and “Set Collision Enabled” but without apparent change in behaviour.

How do I check that the mesh has a collision mesh? (I am currently using /Engine/StaticMeshes/Cube)