Roblox physics are… interesting… to say the least. Currently, it allows players to clip through walls by just finding a corner.
This script makes it impossible (I think) to clip without hacks. It works by comparing the players last and current position every frame, and checking if there is a block in between. If there is one, the player will move back to the last position. It is very simple, but effective.
Get it here (Insert into StarterPlayer.StarterCharacterScripts)
But what if you want to teleport the player??
There is a bindable event and a remote event inside the script. Fire either of them with a Vector3 or a CFrame to teleport the character without the anti clip stopping it.
Things to note:
Only parts that collide with the collision group of the players HumanoidRootPart will be counted.
Parts with CanCollide off will not be counted.
This isn’t, and shouldn’t be used as, an anti exploit. The only purpose of this script is to fix a glitch with roblox itself.
If you manage to clip through a wall even with this script running, or get a false positive, please send reproduction steps and I’ll make a fix for it as soon as I can.