Most game engines have the option to create or open a project and if I remember correctly these engines have a build system(?) which I believe generates the project files I'm not entirely sure how this works, but I thought of a potentially simpler alternative which I wanted to know if it would work.
Basically, could I not just create an empty directory that will store assets (scripts, meshes, textures, etc) so within the engine when I load a mesh or script it gets saved to that directory and essentially this directory is just a database that the engine reads from so if I wanted to open a new project I'd just plug in a different root directory and then I'd probably also have some sort of serialization so that I can load save the state of the scene and load it back.