I highly suggest using Timers for this, as it’s what they’re meant for.
(1) create a custom event or function with a given name (MyLoopBody) that executes the action you want to perform in a loop
(2) Set Timer. Flag “looping”, name the function to call (MyLoopBody), and set the time to whatever you want your interval to be.
Done.
Remember, UE tries to execute all of the operations of a loop inside a SINGLE Tick/execution command. Loops are for things where you need to repeat a logic across an arbitrary number of actors/instances of something (i.e. Applying Damage to all actors overlapped by an explosion, placing a spline mesh every 200 units of distance along a spline, whatever) as if it were a single logic call. They’re not actually for LOOPING (as in repeating over time) behaviors.