All the local variables inside a Function get reset once a function fires again externally, this includes Multigate, Do once, etc, basically a function is “new” every time it runs, you can use a multigate node connected to loops within the function, but once the logic leaves the function everything is reset