Attempting to unbind WASD, forcing arrow keys controls

I am making an abstract, almost surreal game with the aesthetic of old 90s 3d computer games. What I am attempting to do is make the controls simplified to the arrow keys, so only forward and back, and rotate camera.
The script I am using unbinds the keys entirely, not just from WASD.

local ContextActionService = game:GetService("ContextActionService")
ContextActionService:UnbindAction("moveBackwardAction")

I’ve tried many things but none really worked, this was the closest I got to it working, but its not quite right. Any ideas on how I can unbind WASD?

2 Likes

You can directly just disable the controls of the player and manually bind your player to move.

For example,

local LocalPlayer = game:GetService("Players").LocalPlayer
local Controls = require(LocalPlayer.PlayerScripts.PlayerModule):GetControls()

Controls:Disable()
1 Like

You will need to access the movement script that Roblox Studio automatically puts in your game and then remove some lines from the Roblox default movement script to achieve this.

I have made a video for you to show you how this can all be done: 2D Movement tutorial

I made this video for a person that wanted to disable forward and backwards but you can just remove all the movements.

1 Like

Thanks! Ill check this out. Didnt know it was a separate script, I thought it was hard coded. Thanks a million.

This might be difficult cause im not really a pro. If you could give tips on how I would rebind them that would be fantastic.

Exploiters can rebind their controls in any game in any way, always.