Bonjour,
Le fait de positionner le timeScale à zéro n'empêche pas les Update de tous tes gameObject d'êtres appellé.
Cela empêche par contre FixedUdate d'être appelé et modifie le Time.deltaTime à zéro.
A mon avis dans la gestion de déplacement de ta camera tu n'utilise pas Time.deltaTime comme un des facteur de déplacement dans son update.
Ex :
camera.transform.rotate(new vector3(1,0,0));
Cela effectuera toujours une rotation de ta camera même si timeScale = 0
camera.transform.rotate(new vector3(1 * Time.deltaTime,0,0));
Cela arrêtera la rotation de ta camera si timeScale = 0
Attention la syntaxe donnée est de mémoire mais le principe est bon.