Getting an infinite loop when trying to use a photo camera widget

I’m creating a photo camera for my game and am running into some issues.

I push a button for the photo camera which disables the follow camera and activates a first person style camera I’ve attached to the character’s head socket.

That camera then displays a widget for the photo camera UI, it’s very basic, a few images for a cross hair, and a flash on and a flash off image.

What I’m trying to do right now is, I’ve hidden the flash on and off images in the behavior section of the images, in the widgets. With the intention of when in camera mode, you can push a button that turns the flash on and off

I went into the character BP and decided I would use custom events to make a function for the flash on and off, that way it would be cleaner in my camera mode code, and created booleans to set if the flash was on or off.

I then made an input action for when I was camera mode to run the flash on and off code made previously

This is my Camera mode On/Off Logic, the collapsed function for camera on and off will be in the pictures after this one

Camera on

Camera Off

Battery power system

So basically with all this in it’s current configuration, when I play in editor to test, the camera mode turns on and off with no issue, the battery drains without issue, but when I push my input to toggle flash, it crashes immediately with an infinite loop error

It says the error is coming from here, a delay that’s not even related to the camera at all, but is instead for my drone system, however, when unplugging that delay and just connecting the two nodes between directly, the same error comes up but for another delay in unrelated code.

It directs the error to my drain flashlight battery code

so I’m really not sure what’s causing this, and why it’s effecting different unrelated code, any help would greatly appreciated.

Why is Activate Flash and Deactivate Flash events calling their own events at the end of each graph? That’d be an infinite loop. Were you supposed to call a dispatcher instead?