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?
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()
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.