Description

When the trigger is duplicated, the contents of its OnActorBeginOverlap MC delegate are copied, which contains a reference to the BP actor that added the binding to the original trigger.

Marking the property as 'duplicatetransient' is likely overkill, and it might break behavior that relies on this functionality. We may have to devise a custom solution here.

Steps to Reproduce

To reproduce this with the attached project:

  1. Load up the project and load NewMap
  2. PIE, overlap with the visible triggers in the map and notice one trigger fires 1 event and the other 2
  3. Poke around the level and see that shouldn't happen (we should get one event from ReferencerBP_C_1 on the left trigger and one from ReferenceBP_C_3 for the right).
  4. Cook the project, notice this behavior still happens in the packaged build.
  5. With NewMap open open 'ReferencerBP' and recompile it, save the blueprint and the map
  6. Notice the issue no longer occurs.

To recreate this problem with the provided project:

  1. Place down an instance of TriggerBoxBP and ReferencerBP
  2. Set the new ReferencerBP instance's 'New Var 0' property to point to the new TriggerBoxBP
  3. Alt Drag that TriggerBoxBP into a duplicated instance
  4. Place down another instance of ReferencerBP and point it at the newly duplicated TriggerBoxBP

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-161033 in the post.

6
Login to Vote

Backlogged
ComponentUE - Gameplay - Blueprint
Affects Versions5.0
CreatedAug 15, 2022
UpdatedFeb 13, 2024