Union not detecting touches?

  1. What do you want to achieve? I’ve made a simple script that will detect when a union is touching something, but it isn’t working. The prints don’t print, which means it’s not even running the touched part and I have 0 clue why (no errors, by the way)
script.Parent.Touched:Connect(function(toucher)
	print("Work 1")
	if toucher.Parent.Name == "TerrainType1" or toucher.Name == "TerrainType1" then
		print("Work 2")
	else
		script.Parent:Destroy()
	end
end)

What kind of script is this? A local script or server script?

1 Like

A server script inside of the union.

Is the union anchored at all ?

Yes, the union is anchored and it’s physically touching the part when I test in studio (the part that isn’t “TerrainType1”)

Then only unanchored touching parts will activate the collision event. The union would have to be unachored to detect everything else

1 Like

Is there a way to still keep their position locked w/o having to anchor it?

Use weld constraints to position something relative to another part without it being anchored

Welds wouldn’t work if the other part is anchored. I guess you would need some constant force like bodyvelocity or linear velocity.

Have you seen this thread? Particularly the link on the last reply, which the poster says is a good solution even though it wasn’t marked as a solution;