Collision Group doesnt work

Hello Good Day, so im having this problem with Physics Service where I need a certain group of parts not be collidable with the player but collidable everywhere else now the problem is I have followed every topic Ive searched and still it doesnt work, so here’s the code

--// Create Collission
PhysicsService:CreateCollisionGroup("Weapons")

PhysicsService:CreateCollisionGroup("Player")

PhysicsService:CollisionGroupSetCollidable("Player","Weapons",false)
--// Set Collision
function Global:SetCollision(Player,Weapons)	
	local Char = Player.Character
	
	for _,v in pairs(Char:GetChildren()) do
		if v:IsA("BasePart") then
			PhysicsService:SetPartCollisionGroup(v,"Player")
		end
	end
	
	for _,v in pairs(Weapons:GetDescendants()) do
		if v:IsA("BasePart") then
			PhysicsService:SetPartCollisionGroup(v,"Weapons")
		end
	end

end

Make sure the character exists 100% of the time when running the function:

local Char = Player.Character or Player.CharacterAdded:Wait() 

Also the function should run every time the character respawns/loads and what is Weapons equal to?

yes so I have that part of code before I call that function but still doesnt work and Weapons equal to a folder that contains the model of the weapon cause I am not using the roblox tool class and I made my own