Moving the camera along with the mouse without holding right shift

What I’m trying to obtain is a 3rd camera person effect. This is my current script:

    local Char = game.Players.LocalPlayer.CharacterAdded:Wait()
    if Char == nil then
    repeat
         wait()
    until Char
    end

    local RunService = game:GetService("RunService")
    local Torso = game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart")
    game.Players.LocalPlayer.Character:WaitForChild("Humanoid").AutoRotate = false
    local CurrentCamera = workspace.CurrentCamera
    game.Players.LocalPlayer.Character.Humanoid.CameraOffset = Vector3.new(2,1,0)
    RunService.RenderStepped:Connect(function()
        Torso.CFrame = CFrame.new(Torso.Position, Torso.Position + CurrentCamera.CFrame.lookVector * Vector3.new(1, 0, 1));
    end)

    RunService:BindToRenderStep("MouseLock",Enum.RenderPriority.Last.Value+1,function()
       UserInputService.MouseBehavior = Enum.MouseBehavior.LockCenter
    end)

This works fine and the effect is made, however, even if the mouse is locked in the center of the screen, you still need to hold the right mouse button to move the camera. How do you move it without holding right click?
(Please don’t tell me “You have to search before posting” and link other threads, as I made this one cause I have my specific script and I’d like a specific solution :c ).

1 Like