Union Parts in Tool Deleting Themselves — Position Sync Script (Saber.rbxm)

:hammer_and_wrench: Overview

Hi everyone! I’m running into a strange issue and could use some help figuring it out. I’ve made a Tool called “Saber” that includes a beam (with union parts) that should follow invisible clones welded to the tool’s Handle. The goal is to eventually animate them (e.g. retract/expand), but for now I’m just syncing their position every frame.

However, after equipping the tool and moving around, the beam parts randomly delete themselves. I have no idea why.


:file_folder: File

Here’s the .rbxm with everything you need to reproduce it:
:package: Saber.rbxm (49.7 KB)

Just drag it into StarterPack and test in Play mode.


:test_tube: Intended Behavior

  • The beam folder contains two union parts.
  • These parts get cloned (invisible), welded to the tool’s Handle, and placed in a folder called InvisibleAnchors.
  • The original union parts stay visible and get their .Position updated every frame to match their invisible clone.

:brain: How It Works

createWelds Function:

for _, v in pairs(beam:GetChildren()) do
	local clone = v:Clone()
	clone.Name = v.Name .. "_Anchor"
	clone.Transparency = 1
	clone.CanCollide = false
	clone.Anchored = false
	clone.Parent = anchorFolder
	weldParts(clone, tool.Handle)

	v.Anchored = false
end

idle() Sync Loop:

while isIdle and tool:IsDescendantOf(game) do
	task.wait()

	for _, beamPart in pairs(beam:GetChildren()) do
		local anchor = anchorFolder:FindFirstChild(beamPart.Name .. "_Anchor")
		if anchor then
			beamPart.Position = anchor.Position
		end
	end
end

:x: The Problem

After a few seconds of equipping the tool (or just moving), one or both of the original beam parts disappear from the world. They’re not anchored, but no code is destroying them, and they exist inside the Tool and Character.

:mag_right: Observations:

  • It’s only the original beam parts (the clones are fine).
  • Happens more often during or after movement/physics events.
  • I’ve confirmed it’s not nil or renamed — they’re just gone.
  • No errors in the output.

:question:Questions

  • Are there known issues with Unions disappearing when moved via .Position?
  • Is this some internal physics cleanup? Or a side-effect of setting .Position on unions that are unanchored?
  • Should I use a different approach (like constraints or bones)?

:safety_pin: Notes

  • Unions are not welded — I need to animate them independently later.
  • I’m avoiding Motor6Ds for this part of the system.
  • The behavior is unpredictable — sometimes both stay, sometimes one vanishes.

Thanks in advance to anyone who has insight or has run into this kind of behavior before!

Is that because CanCollide = false? If they are not anchored, and CanCollide is set to false, it means they will go through the floor and reach void, consequently deleting them.

Maybe try anchoring it? The position will be updated even if you anchor the Union.

no, they dont fall they just stop existing… i think

It was indeed not the solution

Can you make a vid of the problem?

Looked in your problem and it’s quite easy and obvious idk why nobody replied before but you’re doing the welding part on client and it seems it fails on server, so when on server parts fall down into the void they’re destroyed and replicated for client which caused the “disappearing”

Are they doing it in client though?