local players = game.Players.LocalPlayer
local character = players.Character
local Torso = character:FindFirstChild("UpperTorso") or character:WaitForChild("UpperTorso")
local Coat = script.Parent.Parent.CoatMesh
Coat.CFrame = Torso.CFrame * CFrame.new(0,-1.5,1)
local weld = Instance.new("Weld")
weld.Parent = script.Parent
weld.Part0 = Coat
weld.C0 = Coat.CFrame:inverse()
weld.Part1 = Torso
weld.C1 = Torso.CFrame:inverse()
Coat.Anchored = false
This works when its inside a Tool, but I want it welded to my torso at all times without a tool. Here's how it looks currently https://imgur.com/a/pKAvclt

6 comments
glue it to the players back
Local scripts don't run in workspace.
Its not inside a local script.
You can't use local player inside a server script.
How can I get a specific player without using Local Player? I tried using PlayerAdded but that didn't work either :/
Look at answer.