Testing a 4.12 copy of my 4.11 project and when I tested in editor, all my physicscontraint blueprint objects all had their doors fall to the ground. Seems that there was a change in PhysicsConstraint in 4.12. I would have it just reference the door and doorframe before in previous builds as shown in the attached screenshot. But whatever is different now, doesn’t constrain with my converted copy. But for all I know this isn’t a bug, but rather the new way of using PhysicsConstraints in 4.12 and I just don’t know what is wrong.
I don’t know of any large specific changes in 4.12 but something small could have been changed on the back-end. I’ll keep investigating.
In the meantime, does this only happen with the preexisting assets after the conversion or does a new asset in the same project also have the issue?
A fresh blueprint doesn’t have the symptoms I initially reported. But some reason my existing BPs with physics constraints do.
After testing several scenarios I’ve found that I had to remove the first mesh that is referenced in the PhysicsConstraint. In this case the DoorFrame mesh.
I completely removed the DoorFrame mesh from the BP, and then added it fresh, set its collision to ignore PhysicsBody like I had with the old mesh (to not have any issues with the door itself). And then when playing in editor, it will all act like it should and properly swings with constraint.
I can’t find anything that isn’t configured the same as the new mesh instance that is in the BP as the old one. But it won’t constrain with the joint to the second mesh in the PhysicsConstraint.
I’ve narrowed down the specific cause. I have the DoorFrame in my BP set to Query Only (No Physics Collision) to reduce issues I have with the door colliding with the Frame. Some reason this option causes the PhysicsConstraint in 4.12 preview to not constrain anymore.
I was able to reproduce this behavior, so I created JIRA UE-30376. You are correct, it was working in 4.11.2 but isn’t in 4.12. Our developers will be investigating it further.
As for a workaround, there is actually a setting inside of the Physics Constraint that is made specifically for this.
- With the Physics Constraint selected > Details panel > Constraint > check “Disable Collision”. This will disable the collision between the constrained components only.
Our content expert informed me that this was changed in 4.12 and it is by design. In a future release it will show warnings in the logs to make this more clear.
The workaround I mentioned above is the correct way that you would want to go about doing this.
I have the same problem, “Disable Collision” does not solve it.
I noticed that in using a 4.11 StaticMeshActor in the Component name section was possible to write “StaticMeshComponent” while in 4.12 is not possible.
I’m not sure what you mean. I just tested this and in 4.12.4 you can write ‘StaticMeshComponent’ in the ComponentName field of the PhysicsConstraint component. Are you seeing a different behavior?
If you are, do you also see it in a new blank project? If so, please post screenshots and repro steps so I can see exactly what you mean.