Detecting what surface character is moving on and restrict movement outside

I’m trying to make a game where you can switch between flying around in a spaceship and walking around inside it with a click of a button. The ship’s bridge, that you walk around inside, is a window that pops up in front of the spaceship. Everything in the background gets paused with ‘timescale = 0’, and I create my own timescale to make my ship commander character move. Problem is that colliders use the timescale, so they won’t work, so I’m looking for a new way to restrict the ship commander’s movement to inside the ship.

Is there a clever way to check which type of surface type the character is moving around on? Maybe by checking for tags on the texture the character is touching?

Physics.Raycast with very short ray?

Physics.SphereOverlap with a very small sphere radius?

afaik, they dont use timescale and work on-demand.