setting a character controller orientation by script

Hi I hope I am not asking a dumb question...

I am creating an application in wich I use 3 cameras : a fly camera (the user is free to fly in the scene), and 2 character controller based cameras. I switch from the fly cam to one of the character controller camera using a trigger (collider set as trigger) At the beginning of the scene, the character controller is inactive and got an initial orientation (let's call it Orient0).

When I switch to this camera the orientation is the initial orientation. I walk around, put the character controller in a specific orientation (let's call it Orient1) and switch back to the fly cam (pressing escape key) I fly around and re enter the trigger.

The character controller is, at this time, in the Orient1 orientation. Why ?

I have tried everything (store the initial orientation, restore it the FPSWalker.js script with a frame delay, without a frame delay, restore the orientation before the camera activation, after the camera activation, with 2 frames delay, outside of the FPSWalker.js script) the character controller camera is always in the orientation (Orient1) the character was before switching back to the flycam.

Anyone got an hint ? an explanation ?

Thank you

related - does anyone have a controller for flying? or moving in 3D versus on terrain?