OnOverlapBegin Usphere components not triggering.

After days of fiddling with collision settings and reading through every forum post I can come across, nothing I’ve found seems to work, and I was hoping someone here could assist me. Like the title says, for some reason the generate overlap method is not running when either of my collision spheres overlap anything at all. I’m not sure if this has anything to do with the component attachments, or maybe the inheritance hierarchy I have set up, so im willing to show any c++/blueprint I have. The ultimate goal here, is to have two collision spheres, one on each hand to detect overlap with other character MESHS, I dont want to hit the collision capsule because I would like to find the exact point on the character mesh that is struck and play animations based on the bone struct and the vector deltas on the hands collision spheres. I also was trying to set this up to use a custom collision object channel to trigger the overlaps.

Ill go through this one step at a time as to try and be thorough.
In this picture you can see my two collision spheres attached to my characters hands.

Component hierarchy in editor:

Capsule Components collision settings:

Mesh Component collision settings:

Hand collision sphere(Not posting other one, settings are identical):

C++ Monster0 class .cpp file which is derived from higher level MonsterWarsCharacter, which is derived from ACharacter:

C++ Monster0 class .h file:

Like I stated above, the “Monster0” class is a child of a larger class that I want to avoid linking here because of its size (But will link anything from it that is requested), but that MonsterWarsCharacter class is derived from ACharacter.

Just for clarity for the setup of the parent class AMonsterWarsCharacter:


The Channel I set up in the project collision settings:

Hey @xsmokumsx, how are you? I have been doing some testings on my side.

Try this:

On the skeletal mesh collision settings, enable “GenerateOverlapEvents”

If that doesn’t work, check if your skeletal mesh has a physical asset assigned. Keep in mind that overlap events will be triggered for each overlapping shape in the physical asset. You may need to filter them, but this can also help determine which part was hit. Let me know if that works!

The solution for this ended up being a simple one, sadly im not going to keep the implementation that I was wanting originally. I’m going to go with a linetracebychannel instead in order to get more detailed hit information. The solution to this was to turn generate overlap events like you said, and to also make sure that the overlap condition was selected for my object channel on BOTH of the components…

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.