Slow motion without touching fixedDeltaTime

Hello!

I’m making a 2D game platform where the player has the ability to slow down the time but him itself is not affected. I’m having some progress doing this:

Scaling fixedDeltaTime:

Time.timeScale = slowdownFactor;
Time.fixedDeltaTime = 0.02F * Time.timeScale;
Time.maximumDeltaTime = Time.maximumDeltaTime / slowdownFactor;

And also multiplying the player velocity by 1/Time.scaleTime.

The problem I’m facing now is like this:

I was wondering if it’s a good idea to try a different approach, instead of messing up with time scale I would have a “Time Controller” that would publish events to other objects in the scene and then changing their velocity accordingly.

Is this a good move? May I have some problems with this?

All you need to get a slow motion effect is modifying Time.timeScale. Don’t touch any of the other magnitudes.