Door that opens and closes on interact with a smooth TweenService animation.
-- Proximity Prompt Door local TweenService = game:GetService("TweenService") local door = script.Parent local prompt = door:FindFirstChildOfClass("ProximityPrompt", true) local isOpen = false local debounce = false local closedCF = door.PrimaryPart.CFrame prompt.Triggered:Connect(function() if debounce then return end debounce = true isOpen = not isOpen TweenService:Create( door.PrimaryPart, TweenInfo.new(0.4, Enum.EasingStyle.Quad), { CFrame = isOpen and closedCF * CFrame.Angles(0, math.rad(90), 0) or closedCF } ):Play() prompt.ActionText = isOpen and "Close" or "Open" task.wait(0.5) debounce = false end)