.rbxp file format
This spec is not complete, it is only keys that I’ve spotted so far in the file, there may be other stuff
The .rbxp
file is a JSON-file format that is used for Roblox’s internal projects (CoreScripts and BuiltInPlugins).
You can load them by having Internal Mode and opening them using the File > Open With...
menu. You cannot open the file with Studio from the explorer since Studio will try to load the file as rbxm/rbxmx
An empty project may look like
{
"fileVersion": 1,
"instanceHierarchy": {
"tree": {
"$className": "DataModel",
"ReplicatedStorage": {
"$className": "ReplicatedStorage",
"Shared": {
"$path": "Shared"
}
}
}
}
}
Keys that have been obsered are as follows:
instanceHierarchy
Stated above but is almost identical to a Rojo
project.json
file
// .rbxp
{
"instanceHierarchy": {
"tree": {
"$className": "DataModel",
"ReplicatedStorage": {
"$className": "ReplicatedStorage",
"Shared": {
"$path": "Shared"
}
}
}
}
}
// default.project.json
{
"tree": {
"$className": "DataModel",
"ReplicatedStorage": {
"$className": "ReplicatedStorage",
"Shared": {
"$path": "Shared"
}
}
}
}
projectFileMap
Project file map links to a built-in or standalone built-in for debugging the plugin, when loaded with this key (and properly initialised), it will load the specified built-in into PluginDebugService
.
This will only load plugins inside the specified folder.
You can also incrementally build and reload plugins in the built-in file.
This will not sign or compile the model, this requires an external signing key file and a
.config
file, make sure to keep a backup of the signed plugin if you intend to turn off Internal Mode
fileVersion
Not required, but always 1. Not sure what this key is used for
luau
This section is used for providing an inline luaurc
file, a lot of files I’ve observed have this chunk in it
{
"luau": {
"languageMode": "nonstrict"
}
}