Attaching a fake arms/head rig to the player (through camera)


local camera = game.Workspace.CurrentCamera
local humanoid = game.Players.LocalPlayer.Character:WaitForChild("Humanoid")

local viewModel = game.ReplicatedStorage:WaitForChild("FirstPerson"):Clone()

game.Players.LocalPlayer.CameraMode = Enum.CameraMode.LockFirstPerson

local function onDied()
	viewModel.Parent = nil
end

local function onUpdate(dt)
	viewModel.Head.CFrame = camera.CFrame
end

humanoid.Died:Connect(onDied)
game:GetService("RunService").RenderStepped:Connect(onUpdate)

viewModel.Parent = camera
viewModel:SetPrimaryPartCFrame(humanoid.Parent.Head.CFrame)

I tried following this

However, there’s certain things that wouldn’t work with certain things, for example if I want dual wielding, etc.

So my plan was to have 2 sets of arms. 1 for FirstPerson, 1 for ThirdPerson

Are you just trying to make your arms visible when you have a weapon out?

Are you sure they are actually welded via motor6d? If you animated them then ignore this instruction, you should have the view model set primary part cframe on loop instead of the viewmodel head’s cframe being welded to the cameras.

I’m pretty sure that guide is deprecated or if it’s not, correct me.