Weird getchildren() behaviour?

Surely this is a roblox issue with incorrect / lazy storage of arrays? I would expect when I call get children for it to build a proper array of all the decendents of the parts in a hierarchical style, instead of roblox then trying to reference something that does / doesn’t exist in the array when trying to load it when the part still exists.

Its like roblox can’t work out of the child of the child is stored in the get children() array or not.

This is intended behavior. :GetChildren() doesn’t make a clone of the instances (and their children) if that’s what you’re expecting.

No, but it should store them accurately?

I mentioned it in my first reply. :Destroy() will act on workspace.Part (parent to nil and call :Destroy() for all children recursively). The :GetChildren() call will get a table containing the references to the children which is what is done before :Destroy() in that example. After calling workspace.Part:Destroy() you won’t have any children under the previous children that you stored.