Stop OVRplayerController movement but allow rotation.


I am using a code that moves the OVRPLayerController.

player.GetComponent<CharacterController>().Move(direction * Time.deltaTime);

But During that I want to block OVRPlayerController from moving AND still allow rotation.
Right now I have used :

playerController.enabled = false;
gamepadController.enabled = false;

But that locks also the rotation. Is there a good way of doing this? Or I will need to modify default controller files?

Created a public variable inside OVRController and multiplied movement by it.

In other script changed that multiplier to 0 to freez movement and back to 1 to allow player to move again.

Pseudo code:


int speed;
Controller.Move(moveDirection * speedM);

// Other script

player.GetComponent<OVRPlayerController>().speedM = 0;

// later...

player.GetComponent<OVRPlayerController>().speedM = 1;