This is a question I've been thinking about for a long time. I'm currently working on one and I'd like to know how one would simulate "Placing objects" and more importantly, saving their placement.
Here were my ideas:
saving objects
Use DataStore tables I was thinking datastore tables may work because of how convenient it could be to save, as having two tables, one X and one Z storing data of what object is there and what rotation. (Both saved as ints).
The problem with this is that You wouldn't be able to save actual object existence (As Lumber Tycoon does) and you can only lock items into place. That brings me to my second theory:
Use :SaveInstance() This one seems more and less convenient in some ways. One inconvenience being that DataPersistance is depreciated. And I'm not exactly sure how this would work.
Building objects
Clone/MoveTo I was thinking about cloning objects from ReplicatedStorage based on the Mouses' hit.P. That's all I can think of.
Conclusion
Any and all help Is greatly appreciated...very greatly. Thanks so much to everyone for reading/answering in advance. Thanks!

1 comment
I am not very "Skilled" in this area but I would suggest using DataStores and :SaveInstance() , I might be incorrect as I said I am not skilled in this area of scripting but I do think that using those together could be a possible solution.