Change Time.scale only on specific objects
How do you change the time scale on specific game objects only. For example if I want NPC to be in slow motion but nothing else, how would I change the time scale of that NPC?
Answer by Immanuel-Scholz · Apr 20, 2016 at 12:51 PM
You can not set an universal time scale for individual objects. However, different components might be able to adjust separately.
For your example, if you use Mecanim, you can set a speed for a single Animator (property "speed").
If you got custom co-routines, you have to build in the speed modifier for all of your co-routines (e.g. multiplying Time.deltaTime in every place you use it).
But other things are just not possible. E.g. you can't slow down Physics for specific game objects.
thanks i ended up change the speed of npc's animator and changing the speed of their movement
Your answer
![](https://koobas.hobune.stream/wayback/20220612075122im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Why is my deltaTime wrapper slightly faster than time.deltaTime? 1 Answer
Load scene after time 1 Answer
Wait time after coroutine's wait seconds is complete 0 Answers
Getting Error: 'Time' does not contain a definition for 'timeScale' 0 Answers
Problem setting Time.timeScale to 1 after being set to 0 0 Answers