Overlap events only fire when character moves?

Hi everyone,

I’m trying to achieve a simple outline effect on any interact-able object that the player hovers. The basic principle works just fine, my problem is that it only seems to work when my character receives movement input. When the character is static, I can rotate the camera (and with that my ‘characters reach’) but this won’t effect the outline (and functionality).

Here’s how I do it:

  1. My character blueprint has an ‘arm reach’ attached to the camera component, this is a box trigger.

  1. Within my interact-able actors, I try to detect the arm reach collision on the mesh component:

This works like a charm, but again, only when the character receives input. How do I make this work when the character is in the idle state, but the camera is moving (and therefore overlapping)?

Kind regards,

Rob

Try to compare the components class instead of the components(from 2nd screenshot).

Hey Xelj,

Thanks for the response! Do you mean like so?

I’ll have to admit, not 100% sure why it works, but it gives me the same exact result as my previous set-up. Meaning still no luck when the character isn’t moving (or am I doing it wrong?).

I tried the same effect on a moving actor (made it spin through a timeline), and that works. Seems like the character or the actor has to move in order for the overlap to be detected. But it still leaves me with the same issue, not sure how to make it work when they’re both stationary.

May be as variant, will be better use overlap event on ArmReach together or instead overlap on SM_Tree_Trunk?

But in our project for similar purposes we use linetrace on eventtick.

If you have not solved your problem yet, try using this variant:

I had laid the whole issue to rest for a while, but this seems to work!

Thanks a lot Xelj!

Ah, I understand what you mean. My 2nd screenshot is from a tree actor. So the actor checks if the character is overlapping with it. You mean to say I should always check from within the character, I get it. I did this (and it works), but it still has the same result.

I’ve come to the conclusion that my problem is the actor falling asleep, and therefore doesn’t respond to the overlap event. I’m not sure how to wake up the actor, nor if I should.

Yo everyone, if you still suffer from this problem like I did, try this.

  1. Go into Mesh

  2. search for Mesh Component Update Flag

  3. change it to Always Tick Pose and Refresh Bones.

Changing this allow to On Begin/End Overlap events to fire even if the Character is not moving.
Good luck <3

1 Like

Hello there

@HashemShepard

I can’t find the settings.
I’m using 5.1 right now.
I use the mesh as a child. The parent is a spring arm.

Same issue, overlapping only updates when I move the character.
You got any screenshot for the settings?
I searched now for two hours and can’t find anything that helps me.
But I understand the engines logic and problem with all this.

Many thanks in advance and have a nice weekend

this option is for skeletal meshes only, for normal mesh , set the method you use for movement to Sweep @Raztal