Why is this "for" loop returning [ ]void?

Ah yes, I forgot the tuple :sweat_smile:

As to your issue, I haven’t initialized variables that way enough to see the issue. My guess would be that because of the option type creative_prop? if-statement, it doesn’t work.

For example, if you create a function that returns a creative_prop like this

Test():creative_prop=
        MaybeProp := SpawnProp(PropAssetRef, vector3{X:=N, Y:=N, Z:=0.0}, IdentityRotation())(0)
            if (Prop := MaybeProp?): # MaybeProp: ?creative_prop
                return Prop # Prop: creative_prop

That also doesn’t work because the function isn’t sure that it ALWAYS returns a creative_prop. The same principle applies to your issue. Since it’s not all paths that lead to a creative_prop being returned, it fails and sets the return type to void as a failsafe.