OnConstraintBroken not called after BreakConstraint

Unreal Engine 4.26.1
commit: 5df54b7ef1714f28fb5da319c3e83d96f0bedf08

To demonstrate this I created a scene with a cube constrained above another cube. If it hits the ground and breaks the constraint, it fires the event, and prints “Constraint Broken Event Fired”

Calling BreakConstraint before the cube hits the ground only shows the “Performing Test” string. The constraint breaks but the event isn’t fired.

The test blueprint is a function that is marked as “Call in Editor”.

The constraint event is on the Event Graph of the same blueprint.

A workaround is to directly call the code following the event when performing a break. But the documentation does not mention that the OnConstraintBroken event is only called when the constraint breaks through forces, and not when broken through BreakConstraint.

My expectation was that the source of the break wouldn’t matter, or that the name or documentation would clarify the distinction.

2 Likes

I am also getting a similar error. Except in my project the event doesn’t fire when there is a linear break either. I am currently setting up everything through blueprints so the Physics Component is set and manually broken through the blueprint numerous times, but it can also be broken through a linear break. I am also setting up the event exactly as the user above.

In an attempt to work around this issue I have also checked the “Is Broken” node in a “Event Tick”. But no matter if the link is connected or broken it will always return “false”. This happens if I either break it myself or if it is broken from a linear force.

In either of these situations I can’t get the event to fire either when I manually break it or when I break it from a linear force.

I am still having the same issue in 5.2, this was never fixed

1 Like