As a Roblox developer, it is currently too hard to “publish place as” to multiple places because of the time it takes it wait for and select each place, and the frequent publish failures during this process. If this issue is addressed, it would improve my development experience because I would be able to iterate on my development places more quickly and more efficiently publish my updates out to my game’s audience.
Why
A structure many games take is that of having an identical place copied to multiple other places, but with code logic for loading / unloading certain things or performing certain actions depending on which place you are in. This is a beneficial structure as it simplifies the amount of unique places you must update assets / code in. For example, I could have a Lobby, Level, and Trading place. All of these require the same assets and same core scripts. So I have an identical place copied/pasted to all 3 of these places, but add in code to teleport / load players into a Lobby, Level, or Trade map depending on which one they join.
In order to publish these I must select each place individually, overwrite it, open the publish again, override it, and so on… Often times during these publish sequences I hit publish failures (which is a different bug that needs to be fixed) which further slows down the process and sometimes causes me to need to reload my entire studio session to continue.
My Proposed Solution
I propose a multi place select feature that will publish these places as a single task instead of having to split it up into multiple publishes. The proposed UI would look like below. I would be able to select all or some of the places and overwrite them all at the same time.
which allow you to update every Instance available in Studio across separate places (within the same universe) - this includes code and entire maps, created to explicitly help you manage several-place experiences.
In such case, overwriting and publishing places is bad practice.
Overwriting and publishing places is an extremely effective way to maintain asset versions through a game’s experience. Especially if you are using an external workflow such as Rojo that doesn’t support packages. Saying it is bad practice is just an opinion. Furthermore, packages have had many known issues in the past with maintaining asset versions and false positives for version updates. My preference is to overwrite places as it fits better with the game’s structure and workflow.