How to make Cinemachine still follow player when Time.timeScale = 0?

I have the use case that when Time.timeScale = 0 I still want Cinemachine moving and follow the player but what I found is Cinemachine not able to do this or did I missing something? I reset the player position to a position that quite far from Cinemachine position and immediately set Time.timeScale = 0, Cinemachine will just stop at there and not follow player.

There is an “Ignore TimeScale” checkbox on the CM brain. Try that.

I already tried that but I does not work as expected.

Can you be more specific? What happens when you set that option?

Hey I think I have the same problem. When I Set the option to ignore set scale it still doesnt follow when the time scale is at 0.
Edit: If I set to something really low but it isn’t 0 it works. Is this the expected behaviour?

What version of CM are you using?

I have the same issue. It seems the ignoreTimeScale on the Brain is only for Blends.
I would like to have the possibility for e.g. a FreeLook Camera to work when timeScale is 0 as well.

We are using CM 3.0.1. Is this possible @Gregoryl ?

[EDIT] I did some more testing and it seems that a more simple follow cam is indeed working even when the timescale is 0. Only the (default) free look camera is not. Might have something to do with the input being scaled?

1 Like

Indeed yes, there is no option in InputAxisController to ignore timescale. We will fix it.

1 Like

Did this ever get fixed? I’m currently using CM 3.1 and the problem seems to still be there, CinemachineOrbitalFollow seems to still be affected by Time.timeScale = 0 even when CinemachineBrain ignore timeScale is marked. Is there any work around so the cameras can still be updated and keep working even when the game is paused?

Edit: just in case the problem is in another component, my camera setup that does not work with TimeScale = 0 have this Cinemachine components:

  • Cinemachine Camera
  • Cinemachine Orbital Follow
  • Cinemachine Rotation Composer
  • Cinemachine Impulse Listener
  • Cinemachine Deocluder
  • Cinemachine Decollider

The only place with settings related to TimeScale is in the CinemachineBrain component

It’s present in the current 3.1.4

We are currently manipulating the Orbital Follow behavior manually without using any Input Axis Controller, is there a way to get this to work or maybe we will need to make a custom controller for this with the new version?

Edit: never mind, updating to 3.1.4 fixed the issue without any additional changes, thanks! :+1:

1 Like

Your script that manipulates the OrbitalFollow needs to ignore the timescale also.

I’m having a similar issue with the Cinemachine Rotation Composer not updating its Camera properly when timescale is set to zero, with the brain’s ignore timescale property set to true.

The solution requiring the least work is setting the brain to fixed update and putting in some trash hardcoded constants for now to handle the two paused and unpaused states in a similar way.