Deactivate timescale for a specific GameObject/Animation

I have created a Pause Menu with an Animation, the problem is when I pause the game with Time.timescale the Animation doesnt get played. Is there a way to deactivate the Timescale for specific Objects?

My Code so far:

void OnClick(){
		GameObject pausemenu = GameObject.Find ("PauseMenu");
	        anim = pausemenu.GetComponent<Animator> ();
		anim.SetBool ("Activate", true);

		ispause = !ispause;  		
		if(ispause)
		{
			
			Time.timeScale = 0;
			
		}
		else
		{
			
			Time.timeScale = 1;
			
		}


	}

Just some suggestions:

A guy in this post says, you can set the Time.timeScale to a very small value (so that it is not 0), and then speed up the objects that you want them to move a normal speed by the inverse of the time scale value. My concern for this approach is probably the interpolation (the speeding down of your timescale and speeding up of the objects) phase, where things may interpolate at different ratios idk. Having this said it’s probably worth experimenting.

If you scene objects uses rigidbody, then you could try storing the rigidbody velocities and when you want to pause the game, instead of turning the Time.timeScale to 0, just set the velocities to 0 and then reapply the velocity value that you previously stored when you unpause.

If you’re using animations: Unity - Scripting API: AnimationState.speed
Unity - Scripting API: Animator.speed