Here's what I have:
To sum it up: calling the OnInteract event (which comes from an interface) prints the 'Proceed' variable. Clicking Fire sets the variable to true and prints it. 'Proceed' is false by default.
The problem is that the OnInteract event always prints 'false', even if the Fire event has been called. The Fire event correctly prints 'true', but if I call the OnInteract event later, it still prints 'false', even though logically the variable should be 'true'.
No outside entity is changing the variable. If I set the default value of the variable to 'true', it prints 'true'. The entire project is just the First Person template, a single blueprint actor whose entire event graph is what you see in the screenshot, and an outside entity calling the OnInteract event when I press the button.
Curiously, if I ditch the OnInteract event completely and replace it with InputAction Jump, the code works as expected and prints 'true'.
What's going on? This is so simple, and yet it has me beat.