I have worked for days on this to get it to work.
I have a Character with CapsuleComponent as root, and a MotionController with an attached BoxCollission.
These are the BoxCollission (Player) presets:
And these are the Character (Enemy) CapsuleComponent collission presets:
Player blocks Enemy, and Enemy blocks Player. Both are set up to generate hit events.
But this does not generate hit events at all. No events are fired on neither Player or Enemy - except for maybe once in a hundred collissions.
The only way to get the collissions to work is to enable ‘Simulate Physics’ on the Capsule/Enemy but that interferes with movement, and according to the documentation it should not be necessary to do so.
This has to be a bug? I have read that others have the same problem, but I have not seen an answer - I read that this was a known bug in 4.8 that has since been fixed - well, the bug is back…
I have tried to enable CCD and everything else I can think of, but nothing works.
Well first off…if you wanted overlap events to works, you need Overlap collision and Generate Overlap Events checked. My collisions work just fine in 4.11 and have been since 4.6. I do not need to turn on Physics.
If you are wanting Hit Events to work with Blocking Collisions you need to enable Simulation Generates Hit Events, which you have, and then use the Event Hit node.
For more information on how collisions work in UE4, read this blog [Collision Filtering Blog] and then this doc [Collision Overview Doc]
Hopefully, between those two, you’ll be able to handle collision much better. Good luck!
Thank you for your comment.
This is about hit events, not overlaps.
I use blocking on both Enemy and Player, and I have checked Simulation generates hit events.
OnComponentHit is just never called on either component unless I enable physics.
I’d like to look into your specific setup. Could you please zip up your project, or a test project with the same setup and provide a link to Dropbox where I can download it? You can PM me a link on the forums: https://forums.unrealengine.com/member.php?160394-Sean-Flint
I am marking this topic as resolved for tracking purposes, as we have not heard from you in a few days. If this issue persists, feel free to respond to this thread. For any new issues, please create a new Answerhub topic.
Have a great day
The problem still exists, but I got around it by using overlap events instead of hit events.
Create a vive character. Set up collisions as in the first image. (on a box used as a weapon)
Create another character. Set up collisions as in the second image. (on the capsule)
When the capsule moves, I can hit it. When the capsule stands still, I can’t. No hit events are fired.
If I simulate physics on the capsule while it stands still, I can hit it just fine.
I haven’t been able to reproduce this issue on our end.
As a result, I’d like to look into your specific setup. Could you please zip up your project, or a test project with the same setup and provide a link to Dropbox where I can download it? You can PM me a link on the forums: https://forums.unrealengine.com/member.php?160394-Sean-Flint
bump…I have the same issue. Hit ( Blocking ) is working only if Simulate Physics is set to “on”
In my experience, it is better to use overlaps when working with characters, as hit events that are generated without the use of a physics simulation do not produce results that are as consistent as what you’d see using overlaps. It sounds like overlaps would be a better choice for what you’re looking to set up.
Overlap definitely works, but it does not provide HitPoints or Hit normals,
The attribute “Sweep Result” is provided but all Points and Normals are Zero.
There is definitely something wrong here
Note : Hit event will be triggered only if the Capsule is the Root component.
Which is still wrong