I will show how we can rotate player with the camera, just like in max payne 2.
what we have to do is create and apply a script on player.
In function update, write
transform.eulerAngles.y will give the state of rotation of main camera about vertical axis whose value we are assigning to the state of rotation of the player. We can use other cameras as well, for that instead of camera.main.transform, we have to give another variable of type transform whose rotation we want the player to follow. Keep reading for more tips.