Fancy Model Runway Catwalk Animation
Key RequiredUniversal

Fancy Model Runway Catwalk Animation

Universal Scriptquantumlockedquantumlocked 8.1K views 101.7K executesUpdated Sep 24, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•83 lines (2930 chars)
local player = game.Players.LocalPlayer
local WALK_SPEED_THRESHOLD = 16

local function onCharacterAdded(character)
    local humanoid = character:WaitForChild("Humanoid")

    -- Confirm rig is R15
    if humanoid.RigType ~= Enum.HumanoidRigType.R15 then
        return
    end

    local animator = humanoid:WaitForChild("Animator")

    -- Stop currently playing animations
    for _, track in ipairs(animator:GetPlayingAnimationTracks()) do
        track:Stop(0.1)
    end

    local animateScript = character:WaitForChild("Animate")
    local idle = animateScript:WaitForChild("idle")
    local walk = animateScript:WaitForChild("walk")
    local run = animateScript:WaitForChild("run")

    -- Optional sub-states
    local jump = animateScript:FindFirstChild("jump")
    local fall = animateScript:FindFirstChild("fall")
    local climb = animateScript:FindFirstChild("climb")

    -- Assign new animation IDs
    idle.Animation1.AnimationId = "http://www.roblox.com/asset/?id=76924224753151"
    idle.Animation2.AnimationId = "http://www.roblox.com/asset/?id=76924224753151"
    walk.WalkAnim.AnimationId = "http://www.roblox.com/asset/?id=70637851209232"
    run.RunAnim.AnimationId = "http://www.roblox.com/asset/?id=70637851209232"

    -- Load walk animation
    local walkAnim = Instance.new("Animation")
    walkAnim.AnimationId = "rbxassetid://70637851209232"
    local walkTrack = animator:LoadAnimation(walkAnim)
    walkTrack.Priority = Enum.AnimationPriority.Movement

    -- Helper to load and set priority for optional animations
    local function loadAndSetAnimation(animContainer)
        if animContainer and animContainer:FindFirstChildWhichIsA("StringValue") then
            local anim = Instance.new("Animation")
            anim.AnimationId = animContainer:FindFirstChildWhichIsA("StringValue").Value
            local track = animator:LoadAnimation(anim)
            track.Priority = Enum.AnimationPriority.Action
            return track
        end
    end

    local jumpTrack = loadAndSetAnimation(jump)
    local fallTrack = loadAndSetAnimation(fall)
    local climbTrack = loadAndSetAnimation(climb)

    humanoid.Running:Connect(function(speed)
        if speed > 0 and speed <= WALK_SPEED_THRESHOLD then
            if not walkTrack.IsPlaying then
                walkTrack:Play()
            end
        else
            if walkTrack.IsPlaying then
                walkTrack:Stop(0.1)
            end
        end
    end)

    humanoid.StateChanged:Connect(function(_, newState)
        if newState == Enum.HumanoidStateType.Jumping
            or newState == Enum.HumanoidStateType.Freefall
            or newState == Enum.HumanoidStateType.Climbing then
            if walkTrack.IsPlaying then
                walkTrack:Stop(0.1)
            end
        end
    end)
end

player.CharacterAdded:Connect(onCharacterAdded)

if player.Character then
    onCharacterAdded(player.Character)
end

Features & Information

Gives you a permanent iconic, fancy, model runway catwalk animation like something similar you'd see in DTI/Dress To Impress.
#model#anim#animation#animations#catwalk

Community Comments (3)

XavvikkyXavvikkyOct 7, 2025

Quick question, Is this like fe.. if not, I can wait for the Fe one..

Replying to @Xavvikky
quantumlockedquantumlockedOct 25, 2025

@Xavvikky Apologies for late reply, but if by "FE" you mean everyone can see it, yes, everyone can indeed see the animations on you. Hope this clears it up for you ♡

Replying to @quantumlocked
XavvikkyXavvikkyOct 26, 2025

@quantumlocked ya, thats what I mean. I was also wondering if you ever plan adding different variants of these animations or plan to make a video to make our own since I lowkey wanna try changing the idle but it aint working to me

More Scripts for Universal Scripts