On Component Begin Overlap Sweep Result not populated

Hey nuclearping,

Keep in mind that my setup is in blueprints, but I tested this with the exact collision setup pictured above and I still get values returned.

I suggest making a new post in the C++ Programming section and make sure to include your code.

In 4.11 none of the hit result is populated on Begin Component Overlap. This is not solved. Blueprint only

Hey HuntaKiller,

I just tested this in 4.11 3rdPersonTemplate using the below setup. The Normal / Impact Normal that OP mentioned output correctly. Could you provide repro steps and/or a test project showing the results that you are seeing?

I had the same issue while trying to get multiplayer networked – the ComponentOverlap hit result for the server would work fine, but the clients wouldn’t. If the ComponentOverlap doesn’t fire immediately, then the 2 areas can merge slightly. In this case, there are infinitely many overlapping points so it chooses (0,0,0) for vectors. I solved this by having a point on my projectile that it chooses if the location vector is (0,0,0).

Here was the post that helped: https://forums.unrealengine.com/showthread.php?124652-Overlap-hit-return-all-0s-result-Get-Velocity-for-a-collision-box-in-a-blueprint-return-all-0s

Hi everyone I have the same problem I’m using ue 4.14.1 and coding in c++, SweepResult values are not populated although the overlap event occurred also I happen to know that these values can also be invalid for example impact point is not correct as it says that overlap occurred next to component bounds. This is happening only in certain situations for example if there is a frame drop just before overlap, when another application becomes active just before overlap event, when UE editor window loses input just before overlap event, when you drag and move UE application just before overlap event, this is also true for packed project when App looses focus just before overlap event, when you drag application window just before overlap event

EDIT: This also happens when your objects begin play close to each other

And here where the values are incorrect impact point X should be 466.0 and not 466.000031 this is also true when object moves very close to the other object OverlapEvent is fired although objects do not overlap

Hi Mlody,

You would probably have better luck getting help with this is you posted it as a new question in the C++ section of AnswerHub. Feel free to include a link to this issue so other know a similar BP issue has been reported.

Cheers,

TJ

Will do when I get back home

Overlap takes place as collision volumes occupy the same space, not on contact.
A “Hit Location” isn’t given because it would be a ‘volume’ rather than a point location.


Solution.

Duplicate the Overlap volume as a Hit volume of a slightly smaller scale (disabled collision by default)

On the Overlap, enable the smaller volume’s collision and trigger a ‘growth’ in relative scale using [x] Sweep.

It will eventually ‘Hit’ the same object that overlapped the original, and will have a hit location/normal to use.


If precision is important (must hit an external point) - you can use the normal and the hit location to solve for a vector pointing back at the colliding object…

Tracing in on that vector to the “Overlap” volume to find the point it would have hit on that volume.
(^ this part may not make as much sense as it does in my head, I’m caffeine deprived)

1 Like

On the Overlap, enable the smaller volume’s collision and trigger a ‘growth’ in relative scale using Sweep.

How do I do this? I thought that when you sweep, you move a shape trough the world, I didn’t find any option to “grow” it instead of move it.

Btw: A feature request of mine made it into the Unreal Engine Issues, that would provide a hit normal and location equivalent on BeginOverlap.

almost 10 years later, still broken.

1 Like

According to the code (OverlapInfo.h), if the From Sweep pin is outputting False, then none of the Sweep Result pins are valid other than the Hit Component, Hit Actor, and Hit Item.

When moving the actor I think you’ll have to ensure sweeping is enabled on whatever moves it in order to get anything out of the sweep result. For example, the Projectile Movement Component has an explicit “Sweep Collision” option:
image

3 Likes