Instanced Meshes Reporting Overlapping Actors Incorrectly and sometimes not at all

Hi, I noticed that static meshes report overlapping actors mostly correctly, but for some reason, instanced meshes sometimes report overlapping actors, and sometimes do not report anything at all, and this can be affected by mobility setting. I’m not sure if this is intentional, so I’ll just proceed to report this as if it’s a bug.

To reproduce this:

I’m using a heavily modified rolling ball game UE4 project - tho I Imagine this can be reproduced in other projects.

  1. Create a blueprint actor
  2. Add an instanced static mesh Component
  3. Set the static mesh to anything that has collision - I chose “MaterialSphere”
  4. Add an instance by hitting the + sign
  5. Make sure Mobility is set to Static
  6. Ensure generate overlaps is enabled
  7. Set collision Preset to either “Overlap all” or “trigger” - I chose trigger
  8. drag the blueprint into the viewport so that it clearly overlaps another mesh
  9. Setup the blueprint event graph as follows:

https://dl.dropboxusercontent.com/u/1997866/forums-sites/2016/12/2016-12-07_13-51-29_UE4Editor.png

If everything was done correctly, then every 0.2s, it should print nothing. If you move the pawn over the blueprint, then it should print the display name of the pawn actor. I expected this to print the names of overlapping static meshes and other blueprint actors, but apparently it does not do this unless something moves on top of the blueprint - such as a pawn.

Now, go back to the blueprint and change the mobility setting of the Instanced Static mesh to “Stationary”. Now if you test, it won’t print anything, even the pawn actor. Everything is ignored.

Setting mobility to “Movable” produces the same result as “static”.

So, long story short, “Movable” and “Static” only report the pawn, or actors that move over the blueprint. Actors that do not move do not get reported as overlapping.

This contrasts the behavior of a simple Static Mesh Component, which reliably reports all overlapping actors, including non moving ones, in all 3 mobility states.

Is this a bug, or is it intended behavior? Very curious to know. Hopefully I didn’t miss any steps and you are able to reproduce this! :slight_smile:

Thanks!
-Neil (CaptainMigraine)

Hi CaptainMigraine,

Sorry for the delay. I was able to reproduce both issues. For the ‘InstancedStaticMesh not registering overlaps in Stationary mobility’; I’ve created JIRA UE-39876. Our developers will be investigating further. Feel free to use that link to monitor the status and vote on the issue.

For the ‘overlap not being registered on actors that are overlapping the InstancedStaticMesh on start’; this is now working correctly in our latest internal build and you will see it in a future update.

Cheers,

TJ

Hello, I got the similar problems in UE4.20.3

I made a bullet with instance static mesh component. Its event begin overlap is triggered only when it overlap with moving pawn. If I do not move a pawn, event component begin overlap is not triggered.

Hi, just wanted to report I am having same issue in 4.26.

When overlapping with instanced static foliage component, begin and end fire every frame whenever the overlapping actor moves.

1 Like