How should I implement hitstop?

Godot Version

v4.2.1.stable.official [b09f793f5]


I’m trying to implement hitstop in my game, an effect where the game briefly pauses upon hitting something in order to give it more impact. Currently, I know of two ways to do this:

  1. Setting the engine’s time scale to 0
  2. Pausing the scene tree

However, I don’t really want to do either of these things. The first one seems like a bad idea, with it pausing everything in the game. I gravitated towards the second, but it was also not good, since it caused undesired interactions with collision. I opened a bug report, only to find out that part of the behavior was intended. I’m now at a loss for what to do. Does anyone have any advice? Has anyone implemented something like this before?