How to transition from open world to battle state like in pokemon

hi guys

i have a battle system kind of like pokemon which is turn based.
this battle system is a combination of HUD and GAmeObjects as enemy and player.
WHich would be the best way to seemlesly merge the two together?
transitioning from open world to battle state.
i am thinking of transitioning between two scenes but then again that would mean i have to save a lot of open world variables for when the battle ends and i transition back to my open world scene

You can either use ScriptableObjects or a singleton, but I’m not sure how exactly.