Actor BeginOverlap only returning one call

I am unsure why this doesn’t work. What I am trying to do is have it so when one of the player-volumes (2nd pic) overlaps within the larger volume (WaterVolume), it returns a true or false that set’s a player-variable boolean within the main player bp.

As it is, only the bottom (partial) returns a true statement, but ‘Fully’ returns a false statement. It seems very logical and sensible to me to use this system to differentiate whether a water-volume has reached a point where movement would, realistically, be slowed, and to where the player is basically fully submerged (to properly introduce oxygen, state if a diving suit is not being worn, etc etc) .

Of course I had planned on having separate collision volume for the head, chest, etc - but I would love to find a way to fix this before introducing new issues.

Don’t use the water volume to trigger. Have your collisions on the pawn trigger.

Use a small sphere collision at the waist and one at the head.

Use Begin Overlap for both.

1 Like

Worked perfectly thank you.

I do wonder, however, as to why the prior didn’t work - my guess is that it has to do something with the sequence of executions - whatever the reason, this works perfectly.

Your initial approach flopped because the character is the Actor that overlapped. You were expecting a component to actor overlap.

Now if you added (attached) another actor to your pawn that had a collision, then that would’ve fired twice in the volumes code. One for the Pawn actor and one for the attach actor.

1 Like

Thank you for the clarification.

1 Like

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