SkillAgentSearch skills...

Rbxasset

Deploy from GitHub to the Creator Store

Install / Use

/learn @Roblox/Rbxasset
About this skill

Quality Score

0/100

Category

Operations

Supported Platforms

Universal

README

rbxasset

CI

Deploy rbxm files from GitHub to the Creator Store.

Installation

[!NOTE] Lute v0.1.0-nightly.20251217+ is required.

Prebuilt zip (recommended)

Download the latest release and unzip it where you will require it via a Luau script.

Manual

[!NOTE] Foreman v1.6.2+ is required.

Run the following commands to clone the repo, install dependencies, and build rbxasset.

git clone https://github.com/Roblox/rbxasset.git
cd rbxasset
foreman install
lute run install
lute run build

From there, drag and drop build/rbxasset to a place where you will require it via a Luau script.

Usage

Create an rbxasset.toml file in your project with the following content. Replace the environment configuration with values for the creator and experience to upload with.

[assets.default]
name = "Display Name"
model = "build.rbxm"
environment = "production"
description = "Longform project description"
icon = "img/icon.png"

[environments.production]
creatorId = 35175308
creatorType = "Group"
universeId = 7854970752
placeId = 119490202754966

This defines a default asset and a production environment to deploy to.

Then create a Luau script to handle the deployment:

-- scripts/publish.luau
local process = require("@std/process")

local rbxasset = require("./path/to/rbxasset")

local args = { ... }

local apiKey = args[1]
assert(apiKey, "argument #1 must be a valid Open Cloud API key")

-- The rbxm file needs to be built manually. rbxasset makes no assumptions about
-- how your project is setup, it only cares about having a file to upload. Note
-- the filename `build.rbxm` matches the `model` field in rbxasset.toml
process.system("rojo build -o build.rbxm")

-- Publish the `default` asset defined in rbxasset.toml
rbxasset.publishPackageAsync(process.cwd(), "default", apiKey)
$ lute run scripts/publish.luau <API_KEY>

Where <API_KEY> represents an Open Cloud API key that has the following scopes:

  • asset:read
  • asset:write

Manifest format

This section details the various fields that can be supplied for assets and environments in rbxasset.toml

Assets

Assets define how the asset will be deployed and shown on the Creator Store.

| Field | Type | Description | | ------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | | name | string | The name of the asset on the Creator Store | | model | string | Path to the rbxm to upload, relative to rbxasset.toml | | environment | string | Defines which environment to deploy to. This value must equal one of the environments defined in the environments object | | description | string? | The description of the asset on the Creator Store | | icon | string? | Path to the icon (png only) to display on the Creator Store | | type | "Package" \| "Plugin" | The type of asset to upload to the Creator Store. This must be set before the first publish as asset type is immutable once uploaded. Defaults to "Package" |

Environments

Environments define where an asset will be deployed to. Only one environment is required, but more can be added to setup production/staging deployments.

| Field | Type | Description | | ------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------- | | creatorId | number | The ID of the User or Group that will own the published assets | | creatorType | "User" \| "Group | Either "User" or "Group". This is just to tell rbxasset how to interpret creatorId | | universeId | number | The game.GameId of an experience that will be used for Luau Execution. The experience must be owned by the asset creator | | placeId | number | The game.PlaceId of an experience that will be used for Luau Execution. The experience must be owned by the asset creator |

Contributing

We are not currently accepting community contributions. This may change in the future.

License

The contents of this repository are available under the MIT License. For full license text, see LICENSE.

Code of conduct

To maintain an open, welcoming, diverse, inclusive, and healthy community, this project enforces an adapted version of the Contributor Covenant. For more information, see CODE_OF_CONDUCT.md.

View on GitHub
GitHub Stars25
CategoryOperations
Updated19h ago
Forks3

Languages

Luau

Security Score

90/100

Audited on Apr 3, 2026

No findings