If dynamic bindings are being used in a custom code class from which Blueprints are derived, any hot reload will make the bindings a permanent part of the Blueprint and they cannot be removed or changed after the hot reload.
CameraCapsule->OnComponentBeginOverlap.AddDynamic(this, &ANewMainPawn::OnCollide); MultiplierSphere->OnComponentBeginOverlap.AddDynamic(this, &ANewMainPawn::OnMultiplierCollide); InnerPointSphere->OnComponentBeginOverlap.AddDynamic(this, &ANewMainPawn::OnInnerPointSphereCollide); OuterPointSphere->OnComponentBeginOverlap.AddDynamic(this, &ANewMainPawn::OnOuterPointSphereCollide);
RESULT:
The same four messages are displayed again.
EXPECTED:
No messages are displayed.
WORKAROUND:
Replace any affected Blueprints with a new Blueprint made from the code class. This will only work if the new Blueprint is created after the hot reload is performed. Simply removing a Blueprint from the level and replacing it with a new instance of the old Blueprint will not work.
Head over to the existing Questions & Answers thread and let us know what's up.
0 |
Component | UE - Foundation - Core |
---|---|
Affects Versions | 4.7.3, 4.8, 4.15, 4.23 |
Created | Mar 26, 2015 |
---|---|
Resolved | Aug 18, 2021 |
Updated | Aug 18, 2021 |