DontDestroyOnLoad problem

I’m making a board game. In my game when a player wants to throw dice s/he will be led to another scene and then after some seconds it will be led back to the board game. But this caused that the scene be built from the beginning so the players loose their last locations. I tried to use “DontDestroyOnLoad()” but it makes a copy of each character , each time the players comes back to the scene. I mean after 10 times of throwing dice I will have 10 copies of each character. How can I solve this problem?
Thanks for your helps

You can build the scene without any player characters and have a script that checks if the necessary objects are in the scene, and if not spawn them.

You can also have the dice throw sequence take place in the same scene, with a different camera (that renders on a different layer using Camera.depth and switch between cameras (enable/disable)