C++ object variable clone detection

im trying to make a cloning system that will “animate” an outline



in which i want the outline to expand outwards

by cloning the actor, setting its visibility to false, scaling it, waiting x amount then destroying the cloned object, then repeat with the scale increasing by x each time, creating a ripple type effect, as i dont know any other way to animate it

the problem i have is getting the clone function to only execute in the original (making it not execute in an clones resulting in infinite loop) while making it multiple blueprint safe (where multiple objects may be using it at any given time)

how would i go about doing this