I’ll see if I can do a local test for this, I just don’t know blueprints well enough to know off hand what’s going wrong. But one thing, you shouldn’t need to Cast because if you have your Burger blueprint, that’s basically the script for that burger and it’s all dealt with in there, locally. You don’t need to cast. You would use a Cast where you want to communicate between two different blueprints.
So with that said, I’m not sure if possibly the cast is the problem. So you’re triggering this event and casting to the burger which may be casting to the others in your scene and doing the same thing. So you need to treat the burger just locally, just apply materials to “Self” or to “Mesh” probably, and not cast to the burger blueprint.
EDIT:- So, here’s my test setup and works perfectly fine. Though I tested it by player touch, you will get the same results by any touch event. So I think where you’re having problems is by casting. So in my components I have a mesh (StaticMesh1) and a collision box (Box1). You can see I have it set so you touch the collision box and then set the material on the mesh directly.