It seems to me that the most simple and effective way is to use built-in function - scene serializer.
Example - https://www.babylonjs-playground.com/#1LQGCI#1
Similar forum thread - Save current state of a scene - in order to rebuild it later? - Questions - Babylon.js