How to make a part turn green when a player is touching it and turn it grey when the player is not touching it

Try what I sent and you’ll see how it can also work by doing that trick^

No they don’t. I tested it and even searched for other posts online and they all mentioned that non-collidable parts don’t work with :GetTouchingParts().

I can’t test it at the moment.

Using the .Touched trick beforehand will make it work

At least from my experience, if it does not work for a separate reason however then I would say that Region3 would be best

Here’s some pseudo code:

part.Touched:Connect(function(plr)
	local humanoid = plr.Parent:FindFirstChild("Humanoid")
	if humanoid then
		part.color = green
	end
end)

script.Parent.TouchEnded:Connect(function(plr)
	local humanoid = plr.Parent:FindFirstChild("Humanoid")
	if humanoid then
		part.color = grey
	end
end)

Hope this helps.

You can use
part.Touched:connect(function (hit)
if game.Players:GetPlayerFromCharacter(hit.Parent) then
–script
end
end

Unfortunately, no, you cannot.