Making Part stick to surface?

I remember seeing that mechanic somewhere, how could I make it so a part sticks to a wall and is able to move with rotation


I want to make a part that can be climbed, but the player moves by rolling

or he might have to rig the ball, he also can do body velocity to make the player walk in walls.

I use that plugin, I have no idea how it could help me in this situation though

https://www.roblox.com/library/6756750064/wall-walk-script?ViewInBrowser=true&CreatorId=2348362661&SearchId=7CEB982A-99EA-435C-ABD0-461601EED7FD&Category=Model&Position=6&SearchKeyword=wall+script&CreatorType=User&SortType=Relevance

check this out
it might help ya

I don’t know, seems pretty sketchy but ok

What do you mean? Like you want the part to be able to rotate with the wall? In that case just group them together.

Just make yourself go up with vector3 like this:

local part = game.Workspace.Part --Your part here
local debounce = false
part.Touched:Connect(function(hit)
if debounce == false then
debounce = true
if hit:IsA("BasePart") then

hit.Position = hit.Position + Vector3.new(0,1,0)
end
end
wait(0.01)
debounce = false
end)

and if that doesnt work then make a AssemblyLinearVelocity that is going up

Ok I made it so a BodyForce is added that counteracts gravity and pulls the part toward the surface, and that works.