Hit event doesn't work

From 5 unreal engine version i have such a problem as child components hit events doesn’t work absolutely, except physics simulation. In UE4 this all work fine without any problems.


2022-10-16_14-48-02

Hey there @unrealengine432! Welcome to the community! So your predicament seems a bit odd, are your collisions for each of those SM’s set to blocking? Is your generate hit events checked? In my quick tests I have hit events working for even 4 deep nested SMs.

Thank you for reply
Here is a video:

Make sure to enable Hit Event for both sides - the mesh that’s the child has to have this enabled too besides the parent and floor (it’s written in the Tooltip of the Generate Hit Event checkbox)

Is the ground hit testable? I’m having trouble getting the same effect. An image showing I have physics off for the first test and on for the second test. Both are colliding and generating hit events on all instances.

Simulate Physics off:

UnrealEditor_2022-10-25_00-03-56

Simulate Physics on:
UnrealEditor_2022-10-25_00-05-35

Same settings across parent and child:

Thank you for your time. I’m tested your method and this works well, but… in UE4 version for example, car (what has simulating physics) door (not simulating) hitting something, engine is understanding what door are collided with something, and interacting with it (colliding and give impulse for all car) at the same time (UE5) “Hit event” is enabled but doesn’t firing, however engine is understanding what door was hitting by some colliding object. This method will not work for this situation. Let me recall what in UE4 engine this works absolutely fine.

Working example UE4: BornflyFirstVersion - YouTube
My test UE5: Third Person BP Game Template - YouTube
Screenshot:
https://cdn1.epicgames.com/ue/product/Screenshot/HighresScreenshot00038-1920x1080-942b0572f768aebe35a131a49b68900c.png?resize=1&w=1920

Hrm, that’s odd. There’s almost always inconsistencies of having kinematics connected to physically simulated objects, but it’s really odd that it worked previously in UE4. What exact version was the functioning tests on? Going to restructure my tests and see if I can get the same results this time around and it’ll likely inform my solution a bit better.

1 Like

Here is example:

It’s because only the parent is simulating physics, and the collision TYPE is physics. There are two collision types, physics and query. Your child mesh will generate hit events for query type collisions, like if you hit it with the player character. I don’t know whether UE4 or UE5 are doing the correct behavior.

EDIT: I dont have a working solution, besides combining the separate meshes into one mesh in blender and then using complex collision.

1 Like

Any news?

From testing it seems that all kinematic actors under physically simulated ones now fully inherit their parents simulated collisions, and any hits will now always qualify as the parent universally. Hard to determine which way was the canonical “correct” way before I move to possibly filing a bug report. I was trying to find in the source where the change was made so I could recommend how to change it but didn’t make progress on that.

Is there any Update i am having the same issue

I was having this same issue but I found the solution. If your child primitives are not generating hit events, then it’s likely as SupportiveEntity said. They are being used for the parent primitive’s hit events. In the child component’s details pane, uncheck “Auto Weld” under Physics > Advanced. This will make it so it uses it’s own hit events instead of the parent’s hit events.

1 Like