Disabling control module and then respawning causes player to be unable to move

In my game I sometimes need to disable player movement, so I disable the player control module like this:

require(Player:WaitForChild("PlayerScripts").PlayerModule:WaitForChild("ControlModule")):Disable()

This works fine on all platforms except for mobile. On mobile if my character respawns after the control module was disabled, they will not be able to move their character or turn the camera even if it was enabled again before respawning. This also happens even if the control module is enabled again after respawning. When testing in studio the only way to fix it is to start using the keyboard. Then touch will continue working, but on an actual mobile device this isn’t an option. I know this is the issue because when I removed the lines that disabled/enabled the controls there was no issues. Despite clearly being caused by the control module I’m not able to replicate it in a blank baseplate, so I’m pretty clueless as to what it could be. There aren’t any other scripts in my place that mess with the control module.

I have already tried using walkspeed and anchoring to disable movement but they don’t give me what I want since 0 walkspeed doesn’t stop the player from turning and anchoring the player stops them from falling.

1 Like

I was not able to figure out what was wrong but I was able to get the result I was looking for by using 0 WalkSpeed combined with ContextActionService

2 Likes