updating a float for looped subtraction or addition

i don’t know how to do

this but i need to be able to say get a float value subtract from it then assign the value back to the float every time the loop triggers

You can use Set Timer function. Create a function for example “Discharge”, where you substract from your variable. Then use Set Timer, type in your function name and set the time to anything you want. It will fire this function every X seconds. To stop discharging, use Clear Timer and again put this function’s name there.

PS. You maybe will have to use DoOnce node before Set Timer, if you check for condition in Event Tick, to prevent firing it more than once.

Here, good and easy tutorial explaining how to use timers to alter a variable every X seconds:
https://docs.unrealengine.com/latest/INT/Gameplay/HowTo/UseTimers/Blueprints/index.html

Just like this substracts health in “FireDamage” function, in your case i will be for example “Discharge” function that substracts battery charge level.

could you give example?

Yes this was helpful but now when I try and play the game the editor crashes because of an infinite loop where I don’t see a loop anywhere!

Looks like you have some nodes wired up incorrectly - could you post a screenshot of this problematic blueprint? (the one which after creating it started to crash)

Yes I believe I posted a new post with some pics because the level blueprint thinks I’m getting variables from the character blueprint when I have no reference to it at all here: Why am I getting Accessed None runtime errors? - Programming & Scripting - Epic Developer Community Forums