Why RaycastParams.FilterDescendantsInstances when adding object via table.insert, it don't inserted?

Hello. I’m making my plugin. Now, I stuck with Raycasting:

BrushPart = Instance.new("Part")
BrushPart.Shape = "Ball"
BrushPart.Size = ToolSettings[Tool]["Brush"]["Size"][2]
BrushPart.Color = BrushColors[Tool]
BrushPart.Transparency = 0.5
BrushPart.Anchored = true
BrushPart.CanCollide = false
BrushPart.CFrame = CFrame.new(Mouse.Hit.Position) * CFrame.fromOrientation(DefaultBrushRotation.X, DefaultBrushRotation.Y, DefaultBrushRotation.Z)
BrushPart.Parent = workspace
if BrushRaycastParams.FilterType == Enum.RaycastFilterType.Blacklist then
	table.insert(BrushRaycastParams.FilterDescendantsInstances, BrushPart)
	print("Inserting brush Part " .. #BrushRaycastParams.FilterDescendantsInstances)
else
	local result = table.find(BrushRaycastParams.FilterDescendantsInstances, BrushPart)
	if result then
		table.remove(BrushRaycastParams.FilterDescendantsInstances, result)
	end
end

BrushPart is initialized at the start of script as nil. Can someone say, why adding BrushPart into BrushRaycastParams.FilterDescendantsInstances not working? (prints lenght is 0)

Could just be that when you set it, they create a copy of the table so you can’t mess with the table in weird ways. Could fix by changing it to:

local filters = {}
table.insert(filters, obj)
RaycastParams.FilterDescendantsInstances = filters
2 Likes