I've made it to where if you hold c you crawl but if you touch something it stops the animation but it does keep the movement speed change.
local player = game.Players.LocalPlayer
local humanoid = script.Parent:WaitForChild('Humanoid')
local myModule = require(game.ReplicatedStorage.ModuleScript)
local UserInputService = game:GetService("UserInputService")
local ps = game:GetService("PhysicsService")
UserInputService.InputBegan:Connect(function(input, gameProcessedEvent)
if input.UserInputType == Enum.UserInputType.Keyboard then
if input.KeyCode == Enum.KeyCode.C then
local Animation = Instance.new("Animation", player.Character)
Animation.AnimationId = "rbxassetid://5512392792"
Animate = humanoid:LoadAnimation(Animation)
Animate:Play()
humanoid.WalkSpeed = 8
end
end
end)
UserInputService.InputEnded:Connect(function(input, gameProcessedEvent)
if input.UserInputType == Enum.UserInputType.Keyboard then
if input.KeyCode == Enum.KeyCode.C then
humanoid.WalkSpeed = 16
Animate:Stop()
end
end
end)

4 comments
https://i.imgur.com/T4vjT8C.mp4
Try increasing the priority of said animation
Climbing animation migth have a higher priority
Oh I should of mentioned that I have the animation priority set to the highest it will go. My bad.