Bool variable claims its false but runs execution for true anyway

I’m working with VR and I was testing to see when the player collided with a box, would it recognise the overlap. I checked every tick by getting the capsule component of the player to see if it overlaps the box and if true, print a string to the screen saying “Overlap”.

The problem is, when I watch the bool value when the capsule is overlapping with the box, it says false (should be true) but then it prints Overlap to the screen anyway. This also prevents anything after Print String to be called.

Am I missing something here?

link: BP for checking if capsule is colliding
link: Overlap being printed anyway

you say your watching the bool value how are you doing that? have you tried printing the value of the bool?

if your printing it and it says true then its true in real time. so its working as intended.

I’m watching it by right-clicking the Return Value of the bool and clicking watch this value. I just tried printing the value of the bool and it says true.

Shouldnt the variable update though if in real-time its still true.

I found the problem, there were 2 instances of the box in the world, so one would read true and the other would read false (as I’m only colliding with one of the boxes). I should have thought about printing the bool in the first place…thanks @ThompsonN13.

I couldnt tell you i never use the watch functionality. i usually just use print string myself

I just looked at the documentation and it may be that the value your watching isnt on the selected actor. in which case it doesnt update.

Doc