Instanced static mesh - sweep result hit item result returning "-1" in UE 5.3

Hello everyone

I think I have encountered a bug in Unreal Engine 5.3 where the ISM Sweep Result Hit Item is returning “-1” instead of the instance index that it is expected to return (Cuz in previous engine versions it used to do this). Or am I missing something fundamental?

To confirm this I did the following steps -

  1. Made a brand new Third Person Template Project in UE5.
  2. Created a new blueprint actor and added an “InstancedStaticMesh” component to it.
  3. Set the Static Mesh property of “InstancedStaticMesh” to “SM_Ramp”.
  4. Added 3 instances of this ISM component.
  5. Set the collision presets to “Overlap Only Pawn”
  6. Made sure Generate Overlap Events is set to “true”
  7. Clicked on “On Component Begin Overlap” Event
  8. Added the following blueprint script
  9. Started playing-in-editor and when I made my character run-through the ISM instances, getting the “-1” print string output.

So, is anyone else facing this issue? Or does anyone know some kind of workaround for this?

I am using ISM in my own project to create efficient pick-ups.

I seem to be having this problem as well.

After encountering two other posts (linked below), I have found a work around with approaching things from the other side. I.e., instead of having the instanced static mesh detect the index and remove itself, I have the overlapping actor detect the index and tell the ISM to remove it. Apparently, the overlapped actor gets the correct index, just the ISM itself does not. This seems silly to me, but I don’t know what else to do.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.