I'm having this issue in the 3D game I'm creating, and I can easily recreate the issue in a brand new Unity project, with only the Standard Assets FPS Controller, a cube, and a plane (and no scripts).
I set the desired rotation of the FPSController > FirstPersonCharacter to angles I want the player to be viewing at the start of the game. Then, on the very first movement of the mouse, no matter how slight, the camera jumps to a different angle of view.
**Steps to Recreate:**
1. Open a new Unity project (I'm using version 2019.2.18f1).
2. Download / Import Unity Standard Assets from the Unity Store.
3. Add a plane into the game - GameObject > 3D Object > Plane (prevents your character from falling when you start the game).
4. Add a cube into the game - GameObject > 3D Object > Cube (for visual reference only).
5. Position the cube anywhere convenient to see it.
6. Delete the Main Camera from the Hierarchy (It's one of the default things that comes when the game is first created).
7. Add the First Person FPSController from the Standard Assets - Project tab > Assets > Standard Assets > Characters > FirstPersoneCharacter > Prefabs > FPSController.
8. Expand the FPSController in the Hierarchy so you can see the FirstPersonCharacter nested inside it.
9. Note the rotation and position values of both the FPS Controller and the FirstPersonCharacter.
10. Click the Play button at the top of the interface.
11. In the Game viewport, carefully note the initial view of the camera.
12. Move the mouse just a bit.
13. You should see a fairly significant jump in the camera's view. After the initial jump, everything is pretty smooth.
- FPSController Initial Rotations: 0, 0, 0
- FPSController First Mouse Touch Rotations: 0, 9.7, 0
- FirstPersonCharacter Initial Rotations: 0, 0, 0
- FirstPersonCharacter First Mouse Touch Rotations: 15.5, 0, 0
Because this is happening in a brand new project, with no scripts, it can't be any script of mine that is causing it. Is there any way to smooth the camera from its very first angle?