Importing rooms
Drop a JSON file here and import it from the admin panel
(POST /admin/api/import_rooms, form field file = the filename).
What the file must look like
The same shape the room API returns — a Results array of full room objects, each with
its SubRooms, and each subroom with its AllSaves:
{
"Results": [
{
"RoomId": 12345,
"Name": "SomeRoom",
"CreatorAccountId": 1,
"SubRooms": [
{
"SubRoomId": 1,
"Name": "Home",
"AllSaves": [
{ "SubRoomDataSaveId": 1, "DataBlob": "ABC....room", "PersistenceVersion": 227 }
]
}
]
}
]
}
RoomId and SubRoomId are reassigned on import — the server allocates its own ids, so
they cannot collide with rooms already here. A room whose Name already exists is skipped.
The blobs are a separate step
Importing brings in the room, its subrooms and each save's DataBlob filename — not the
file. Until the matching .room file exists in Data/CDN/RoomBlobs, FilterUnservableSaves
hides that save and the room loads its base Unity scene instead of the saved build. That is
deliberate: a room that loads plain beats a room that will not load at all.
The import response lists every blob still missing (blobsMissing). Put those files in
Data/CDN/RoomBlobs under exactly the filename in the save, and the room starts loading its
build with no code change and no restart.
A zero-byte blob counts as missing.