In my voxel building game, whenever a player’s plot unloads, I move all of the plot’s objects to (0, 100000, 0) using BulkMoveTo (and keep them there in an object pool, assuming there aren’t too many of them). In my game, any object that isn’t a block is welded to an invisible, CanCollide false part. Occasionally, especially when there are a lot of parts on a plot, parts that are welded (with WeldConstraints) to the part that was moved will be left over.
The strange part is, the stair MeshPart itself doesn’t actually appear to be here. It’s like only the visuals for the part remain. I can’t touch it, and when it’s eventually taken out of the object pool and used in another plot, it’ll move (presumably back to the block it’s welded to) and be CanCollidable again. I’m not sure if this is a bug related to BulkMoveTo and welds, or perhaps has something to do with the position I’m moving the welded block to (a floating point precision error of some kind). Would appreciate any help because I’ve noticed it happen a concerning number of times (it doesn’t happen consistently).
Are the parts using Weld or WeldConstraint? Weld objects are weird whenever you change part CFrames and don’t retain relative offsets perfectly, but BulkMoveTo may avoid this issue anyways. WeldConstraints on the other hand ensure relative position and rotations are retained so they may fix your issue.
Another possibility could be your invisible part is really small. I remember encountering a weird bug like this too when I used 0.01x0.01x0.01 size part and it was fixed when I made the part larger ~10x10x10
The purpose of the invisible part is to make placement of objects around the mesh easier (it’s easier to target a block than a mesh with a potentially weird shape), so it actually is the same size as the mesh. The stair MeshPart is 3x3x3, as is the invisible block. I suspect the issue is a bug because the weld itself seems to be functioning fine since I can’t collide with the stairs (and I’m not setting CanCollide = false anywhere), suggesting the stair MeshPart isn’t actually there. It’s like a phantom part, very weird