Run it
Copy the script and paste it into your executor.
Players = :()
UserInputService = :()
RunService = :()
GuiService = :()
UserGameSettings = ():()
Player = Players.LocalPlayer
Camera = .CurrentCamera
SHIFT_LOCK_OFF_IMAGE =
SHIFT_LOCK_ON_IMAGE =
SHIFT_LOCK_CURSOR =
TOGGLE_KEY_PC = .KeyCode.LeftShift
TOGGLE_BUTTON_CONSOLE = .KeyCode.ButtonR3
CAMERA_OFFSET = .(, , )
isShiftLocked =
isMobile = UserInputService.TouchEnabled UserInputService.MouseEnabled
shiftLockGui, shiftLockButton
(active)
isShiftLocked = active
character = Player.Character
humanoid = character character:()
active
UserGameSettings.RotationType = .RotationType.CameraRelative
UserInputService.MouseBehavior = .MouseBehavior.LockCenter
UserInputService.MouseIcon = SHIFT_LOCK_CURSOR
humanoid
humanoid.CameraOffset = CAMERA_OFFSET
shiftLockButton
shiftLockButton.Image = SHIFT_LOCK_ON_IMAGE
UserGameSettings.RotationType = .RotationType.MovementRelative
UserInputService.MouseBehavior = .MouseBehavior.Default
UserInputService.MouseIcon =
humanoid
humanoid.CameraOffset = .(,,)
shiftLockButton
shiftLockButton.Image = SHIFT_LOCK_OFF_IMAGE
()
( isShiftLocked)
()
isMobile
Player.PlayerGui:()
screenGui = .()
screenGui.Name =
screenGui.ResetOnSpawn =
screenGui.ZIndexBehavior = .ZIndexBehavior.Sibling
container = .()
container.Name =
container.Parent = screenGui
container.BackgroundTransparency =
container.Size = .(, , , )
container.Position = .(, -, , -)
container.AnchorPoint = .(, )
shiftLockButton = .()
shiftLockButton.Name =
shiftLockButton.Parent = container
shiftLockButton.BackgroundTransparency =
shiftLockButton.Size = .(, , , )
shiftLockButton.Image = SHIFT_LOCK_OFF_IMAGE
shiftLockButton.Activated:(toggleShiftLock)
screenGui.Parent = Player.PlayerGui
shiftLockGui = screenGui
UserInputService.InputBegan:((input, gameProcessed)
gameProcessed
input.UserInputType == .UserInputType.Keyboard
input.KeyCode == TOGGLE_KEY_PC
()
input.UserInputType == .UserInputType.Gamepad1
input.KeyCode == TOGGLE_BUTTON_CONSOLE
()
)
Player.CharacterAdded:((char)
.()
isShiftLocked
()
)
RunService.RenderStepped:(()
isShiftLocked
UserInputService.MouseBehavior ~= .MouseBehavior.LockCenter
UserInputService.MouseBehavior = .MouseBehavior.LockCenter
UserGameSettings.RotationType ~= .RotationType.CameraRelative
UserGameSettings.RotationType = .RotationType.CameraRelative
)
isMobile
()
It's literally a shiftlock script there's nothing to it

Universal