Did timeScale = 0 functionality change in 2.8+ ?

I’ve been developing in 2019.4 LTS for a while using Cinemachine 2.7.2, and was happily using vcams to rotate around objects (using the mouse) regardless of what the timeScale was set to, by having the brain updating in LateUpdate and the Ignore TimeScale ticked.

Recently upgraded to 2021.2, and the more recent Cinemachine package installed alongside it, and now that functionality seems to have stopped working the way it used to for me. In fact, I don’t believe the brain is updating the camera position when timeScale = 0 at all, and slows down camera movement whilst timeScale is > 0 and < 1. And yes, it’s set to update in LateUpdate and ignore timeScale is still checked. I tried ManualUpdate and called the update in another LateUpdate elsewhere and that didn’t help either.

For now, I’ve just rolled back to 2.7.2 and its working fine again (in 2021.2, so I don’t think the issue is with the editor upgrade), so it’s not a major issue, just means I’m stuck using an old version henceforth which is unfortunate. I should note that I am also using the new input system and input provider component since I see that seems to be causing trouble for some people, but that appears to be working fine in my case (I can log axis delta values from inside that component even whilst timeScale = 0), unless something is going wrong beyond the return of the GetAxisValue(int axis) function in there.

Indeed yes, that behaviour has changed in the latest version. That was an unintended side-effect. We will log a bug and fix it. Thanks for letting us know.

Yeah it works again with 2.9. fyi: I have to switch my paused vcam update method to CinemachineBrain.UpdateMethod.LateUpdate (during the game pause), in FixedUpdate it will still not rotate or change anything (such as Fov changes) when timescale is 0.