For anyone wanting the answer: I was using drawmaterial simple, inside a hud blueprint, called with an ‘eventreceivedrawhud.’ The reason my material was not updating was because the drawhud is something that happens every frame. So basically, I created a dynamic material instance variable inside the construction script of my player controller, as well as a float that was tied to the scalar parameter of my cursor. Inside my hud blueprint I then cast to the player controller, got those variables, and plugged them into the drawmaterial. In short, unreal is hard, nothing worked, and figuring it out is the best feeling in the world. Thanks everyone!

