Variable won't update in other blueprint instances

So the idea is to have 3 separate instances of crystal and when one has been picked up then you can’t pick the others up until you’ve dropped off the one you’re carrying. Similar to how a powerup works. However the problem is the other instances are almost ignoring the ‘carrying crystal’ variable because when I run it the instance I walk over updates carrying crystal to true but if I look in the blueprints for the other 2 instances it is still set to the default, false. Why is this and how can I overcome this problem? Thanks. My only thought is that there are then 3 separate instances of carrying crystal itself, that’s why I made it public. I guess they’re just ignoring that and they’re all using their own versions of carrying crystal.


in your character create a bool carried that set true when you carry and false when you drop.
On your overlap event drag a “cast to” character bp from other output and from it drag your carry variable. check if true or not with a branch. True, you do nothing, false, you pick the crystal and set the variable to true.