How to allow players to create their own maps similar to RetroStudio or Piggy's Build mode?

This is probably one of the biggest questions i’ve had, And it’s probably gonna be hard to get a clear answer.

(I am aware there are other posts similar to this, but those didn’t solve my issue)

I am working on a fighting game, In this fighting game, I want to make so if the player opens a certain GUI, They can click a button, And be teleported into a new place, Which is where they can build their very own map, which will just be a basic baseplate, but they can modify it, and add their own parts and such. and when they are done, they can click “Save” to save their world, Also, At the top of their screen, it will show the seed/password of the world.

I also wanna make so in the GUI where you can find the Build button, there is a textbox, In here, if you insert the seed/password that is associated with a world, you can join that world (as long as the owner of that world has set it to public, if its friends, then it’ll only work if a friend has inserted the seed in, if its private, then you cant join it.)

Also, the owner can go back to building it whenever they want, or they can just play it on its own.

This is a really big thing, Any help is appreciated. Note that i am not very good with things like this, (such as player-made worlds, inserting seeds/passwords, or advanced data saving)


This is a huge request, and you haven’t provided any code you’ve already worked on. Try the Talent Hub.

1 Like

You my friend probably need CreatePlaceAsync and SavePlaceAsync.

The names are pretty self explanatory so I don’t think I need to get into them.

(These are AssetService methods by the way)

Or you could go with a data serialization method where you save all the created instances in a datastore

1 Like

As i stated, I’m not very good with these kind of things, Im not sure where to start, Obviously i know the simple things, like teleporting a player into a studio-like area. Though im not sure about anything else. Since i usually script more simple stuff.

Sorry, not looking to hire people for this, This part of the game won’t be the main mechanic, so it seems kind of useless to hire someone for this.

That’s called a commission. You get somebody to do something big or small, or a specific amount of robux or money. It doesn’t have to be a core mechanic for it to be a worthy thing to be made by somebody else! Trust me, nobody on the devforum will make that entire system for you. It’s also against the rules to ask for such a huge system for free, with no prior code.

1 Like

Yes, I am aware.

I wasn’t asking for anyone to do so, Thats simply just being lazy, I am up for scripting it all myself, But i just need a few arrows that point to what i should be doing.

I am also aware of this.

This kind of stuff is very advanced … many thing go into something like that. You will need to research all of it.

1 Like

They seem pretty good, But from what i’ve been reading, to me it seems like its creating a completely new seperate place, This seems pretty good since i could make so people can insert the placeId in to teleport to it, But would this cause some sort of lag/issue if its making multiple places? When i mean lag, i mean like if there are tons and tons of places made, would it affect anything?

Yes, That is what i’m doing, One of my forms of research being the DevForum, which is why i posted this.

I’d start with a YouTube search and try a few tutorials. Reaching for stuff like this makes you a way better programmer. This is concept stuff.

1 Like

I mean yes it would. The reason I provided the serialization thing is because CreatePlaceAsync and SavePlaceAsync are not recommended to be used frequently.

And yes it’s a hefty amount of data to store. Big games obviously have a bunch of data to store and there’s drawbacks with that.

Unless you want to store your data somewhere else (like in a external datastore) then you could do that. There are also many drawbacks with this too.

1 Like

Most of the tutorials on YouTube (for Roblox devs) do not really get into the “advanced” stuff. People who create good Roblox scripting tutorials are people like: Suphi Kaner (5uphi) or okeanskiy

I haven’t found a tutorial on YouTube that explains how to create this. I know this because I also am trying to create something like this but at a larger scale.

1 Like

I’ve done that already, Searching something like “How to make a game like RetroStudio” or “How to make a system like Piggy’s build mode” Only shows results about that game itself, If i search for “Player-made worlds” then it just shows basic Roblox tutorials, Also @Doomcolp is right, Most YT vids dont really show advanced systems, Just basic ones.

I just learned about these APIs (CreatePlaceAsync and SavePlaceAsync) thanks to the amazing DevForum.

1 Like

Ah, Okay, Ill Look more into serialization (never done anything with it before), But i have a question, I already have a datastore which is made via ProfileService, which stores players’ currency and items, Do i save the maps (in a different format) into this datastore? Or do i save them somewhere else? Im pretty confused to be honest.

1 Like

I don’t personally use ProfileService but yeah I mean it is a datastore so yes.

Here’s a good tutorial that shows you have to serialize stuff

1 Like

Thanks! I’m reading the tutorial, And it seems to be just what im looking for.
Thank you for all the help!

1 Like


Looks good to me for a start.

1 Like

The code looks very very messy. Also, this isn’t what im looking for, I know how to allow players to place objects, My question was how to save those objects into a place.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.