How to make character moves in the direction of the camera forward, not world forward.

I would suggest you modify controller rotation with your controls and then use that to control both the actor movement and the camera rotation.