How do I disable player movement controls and hand it over to Humanoid:Move() but still have moveVector outputing?

So im trying to make a custom movement controller out of the default humanoid, Im thinking of having the player movement made by the Player:Move() feature and I also have a custom AutoRotate that is capable of having the Controls:GetMoveVector() feature. But whenever I disable PlayerModule to make the player not canceling Player:Move(), the Controls:GetMoveVector gets disabled.

How do I disable default movement?

1 Like

Many posts ago, there was this script that used ContextActionService to freeze player movement. Remember to apply this on the client, not server:

local ContextActionService = game:GetService("ContextActionService")
local FREEZE_ACTION = "freezeMovement"

ContextActionService:BindAction(
    FREEZE_ACTION,
    function()
        return Enum.ContextActionResult.Sink
    end,
    false,
    unpack(Enum.PlayerActions:GetEnumItems())
)

-- To unfreeze movement:
ContextActionService:UnbindAction(FREEZE_ACTION)

Original post:

1 Like

I think im gonna look into the Standard 2D Player Controller by Roblox scripts to see if theres any info that can help

I just found the solution, just use RunService:BindToRenderStep() or just read the documation on Humanoid:Move() lol