In short
RoCode is an AI coding agent for Roblox Studio. You describe a change in the web chat at rocode.app/chat, and the free RoCode plugin carries out the agent's steps in the place you have open. To start, sign in at rocode.app with an email code, Google, Roblox or Discord, install the plugin from the Roblox Creator Store, allow the permissions Studio asks for, open a place, type the 8-character code from the RoCode panel into the chat, then press Connect in the panel to confirm.
- You need Roblox Studio on Windows or Mac, kept up to date, and a desktop browser. Phones are not supported, and in Brave you turn Shields off for rocode.app.
- You pair once. A code is valid for 15 minutes and works once; after that, the plugin reconnects on its own.
- The chat has two modes. Build makes changes in Studio. Ask answers questions about your game with read-only tools and changes nothing.
- RoCode works in Studio's edit mode and compile-checks the scripts it writes. It does not start playtests, so you press Play and check the result yourself.
- Starter is free with 3 credits a day on DeepSeek V4 Flash or GPT-OSS 120B, and needs no card. Paid plans start at $9.99 a month for 150 credits and add GLM 5.3 and Claude Sonnet 5.5. Claude Opus 5.5 comes with Studio and up, and GPT-6 Astra with Ultra and up.
On this page
What RoCode is
RoCode (RoCode.app) is an AI coding agent for Roblox Studio. You describe a feature in a web chat at rocode.app. A free RoCode plugin from the Roblox Creator Store then carries out the agent's steps in the place you have open: it reads the objects and scripts a step needs, writes the Luau, creates or edits Scripts, LocalScripts, ModuleScripts and other instances, and compile-checks its scripts inside Studio before it finishes.
| Part | What it does |
|---|---|
Web chatrocode.app/chat | Holds the conversation, the model picker, and the step-by-step log of each run. It opens in a desktop browser. |
Relayrelay.rocode.app | RoCode's server between the chat, the plugin and the model. It sends your request through OpenRouter, a service that reaches many AI models through one account, to the model you picked or its backup, and passes the model's steps to the plugin. |
| Studio plugin RoCode, from the Creator Store | Carries out the agent's steps inside Studio with 24 tools that read, create, edit and check. It keeps a WebSocket connection to the relay. |
| Your place | The place open in the connected Studio window. Each run starts with your camera position and up to 8 selected objects, so “this” can mean your selection. Anything else leaves it only when a step asks for it, or when you type / in the chat to pick an object. There is no place-file upload and no background sync. |
DeepSeek V4 Flash, GPT-OSS 120B, GLM 5.3, Claude Sonnet 5.5, Claude Opus 5.5 and GPT-6 Astra are third-party models that RoCode runs through OpenRouter with its own instructions and Studio tools. RoCode has no models of its own. See Models and credits for which plan includes which model.
Each message runs in one of two modes, picked in the composer: Build, which makes changes in Studio, or Ask, which answers questions about your game without changing anything. See Build and Ask modes.
Requirements
| You need | Details |
|---|---|
| Roblox Studio | On Windows or Mac, kept up to date. The plugin keeps a live connection to RoCode through Studio's WebSocket support, and an older Studio build without it cannot connect. |
| The RoCode plugin | Free, from the Roblox Creator Store. |
| A desktop browser | For rocode.app/chat. Phones are not supported: on a phone the chat shows a desktop-only message. In Brave, Shields block the connection to Studio, so turn Shields off for rocode.app or use Chrome or Edge. |
| A network that reaches the relay | Studio has to reach relay.rocode.app over WebSockets. School or work networks that block this cannot connect. |
| A RoCode account | Free. Sign in at rocode.app with an email code, Google, Roblox or Discord. No card needed. You need to be 13 or older, and under 18 you need a parent or guardian's permission. |
Not needed: a desktop app, a command line, config files, an MCP server or your Roblox password. RoCode never asks for your Roblox password.
Install the plugin and pair it with the chat
Install and connect, step by step
- Create a free account. Sign in at rocode.app with an email code, Google, Roblox or Discord. See Sign-in options.
- Install the plugin. Open the RoCode plugin on the Creator Store and install it. Installed plugins appear in Studio's Plugins tab. In Studio's plugin manager, RoCode is listed as RoCode AI.
- Allow the permissions. When Studio asks, allow HTTP requests to www.rocode.app and relay.rocode.app, and Script Injection. The table below says why.
- Open a place in Roblox Studio: a game you are working on, or a new Baseplate. The RoCode panel shows a pairing code.
- Pair the chat. Open rocode.app/chat in a desktop browser. In the Roblox Studio isn't connected card, type the code and press Connect.
- Confirm in Studio. The RoCode panel shows a confirm row with your account. Press Connect there. It waits up to 2 minutes, then shows a new code.
Sign-in options
| Option | What to know |
|---|---|
| Email code | RoCode emails you a one-time sign-in code. There is no password. |
| Sign in with your Google account. | |
| Roblox | Sign in with your Roblox account. RoCode never asks for your Roblox password. A Roblox sign-in does not link to an existing RoCode account, so if you already use RoCode, keep your usual sign-in to keep your plan and chats. Adding an email afterwards is optional: it is for receipts and for signing in without Roblox. |
| Discord | Sign in with your Discord account. |
The Studio permissions the plugin asks for
| Permission | Why the plugin needs it | If you declined it |
|---|---|---|
HTTP requests to www.rocode.app and relay.rocode.app | These are the two hosts the plugin talks to. It checks both when it loads and warns if either is blocked. It makes no calls to Roblox's web APIs. | Allow them in Plugins > Manage Plugins > RoCode AI. |
| Script Injection | Lets RoCode create and edit scripts. Build UI needs it too. | Turn it on for RoCode AI in Plugins > Manage Plugins (the pencil icon), then restart Studio. |
One Studio setting is optional and stays your job: Enable Studio Access to API Services. You need it to test data store saving in Studio, and RoCode cannot change it for you. In Studio, open File > Experience Settings > Security, turn it on and click Save. The place has to be published first. Studio then uses the same data stores as the live game, so Roblox recommends turning this on only in a separate test copy.
How pairing works
| Detail | How it works |
|---|---|
| The code | 8 characters, shown in the RoCode panel like ABCD-EFGH. It never uses the characters I, L, O, 0 or 1. |
| Where to type it | In the chat's Roblox Studio isn't connected card, then press Connect. |
| Confirm in Studio | The RoCode panel then shows a confirm row with your account. Press Connect in the panel. If you do not, it waits up to 2 minutes and then shows a new code. |
| How long it lasts | The same code for 15 minutes. |
| How often it works | Once. The code is forgotten as soon as it is used. |
| Next time | The plugin stores a connection key in Studio's plugin settings and reconnects on its own. No code needed. |
| Which places | Once paired, the plugin reconnects in any place you open on that computer. To stop that, disable RoCode AI in Plugins > Manage Plugins. |
| More than one Studio | Only one Studio window is connected at a time. Opening a place in a second window moves the connection there. |
| Different networks | If Studio and the browser are on different public networks, for example behind a VPN or iCloud Private Relay, the chat shows Connect anyway. Press it, then type a new code from the RoCode panel. |
Your first run
The chat will not send a message until a Studio is connected: the send button stays off, and hovering over it shows Connect the plugin first. Once Studio is connected, describe one change.
Write a good first prompt
- One feature at a time. It works better than a whole game in one message.
- Say what should happen, in plain words. You do not need class names or to know where scripts go.
- Point at what matters. Type
/in the message box to attach an exact Studio object path, such as the script you want changed. With the + button you can also attach up to 12 text files (20,000 characters in total) and, on Claude Sonnet 5.5, Claude Opus 5.5 or GPT-6 Astra, up to 4 images per message. - Just a question? Switch the composer to Ask and nothing in your place changes.
- Or dictate it. The mic button records your prompt; the transcript lands in the message box for you to edit and send.
Add a sprint on Left Shift that drains a stamina bar at the bottom of the screen and refills it when the player stops running.
- Can look through the place first, with tools such as Search Game and Read Script, so it builds around what is already there
- Creates the scripts with Create Script and the bar's UI objects with Create Instance, each in the service it belongs in by default
- Compile-checks the scripts it wrote with Check Script before it finishes
- Sends its changes to Studio in batches, and each batch is an undo point in Studio
An example prompt written by us. The tool names are real, but what a run does depends on your place. RoCode does not start playtests: press Play in Studio to try the result.
Where RoCode puts things
| You ask for | It creates | Where |
|---|---|---|
| Server logic: coins, damage, saving, rounds | Script | ServerScriptService |
| Input, camera and UI behaviour | LocalScript | StarterPlayer > StarterPlayerScripts |
| Screens and menus | ScreenGui | StarterGui |
| Parts, models and structures | Part, Model | Workspace |
Scripts use game:GetService(), and properties are set as Studio's own types, such as Color3, Vector3, UDim2, CFrame and Enum values.
What you see while it works
- A step-by-step log. The chat lists each step by the tool labels in the tools table. Every read and every deletion shows with its path.
- How long it takes. It depends on the task, the size of your place and the model. One run can last up to 80 model turns or 5 hours. The chat shows the credits a run is using while it works.
- Your next prompt can wait in line. While a run is working, you can queue the next prompt. You can have up to 3 runs going at once.
- No edits during a playtest. If a playtest is running when a change is due, RoCode stops the test first, or asks you to press Stop.
Stop and Continue
Stop a run whenever you like. If a run stops partway, from an error or a usage limit, the changes made so far stay, and Continue picks up where it stopped. A failed run that already changed your place offers Continue instead of starting the prompt again. Runs that you stop count up to where they stopped. When a run fails because of a problem on our side, its credits go back to your balance automatically.
Chat settings
| Setting | What it changes |
|---|---|
| Explain scripts | On lets RoCode add a short summary of how its code works. Off asks for code only. |
| Code comments | On lets RoCode add comments where they help. Off asks for code with no comments. |
| Print statements | On lets RoCode add print() calls for debugging. Off tells it not to add them. |
Build and Ask modes
Every message runs in one of two modes. Build is the default and changes your place. Ask, added on 9 October 2026, answers questions about your game and changes nothing.
| Mode | What it does | Use it for |
|---|---|---|
| Build | Makes changes in Studio. The agent can use all 24 tools: it reads your place, creates and edits scripts and instances, and compile-checks its scripts. | Adding a feature, fixing a bug, building a screen or a structure. |
| Ask | Answers questions about your game without changing anything. It may use only the 9 reading tools; any other tool is refused and never sent to Studio. The reply is labelled Answer. | Learning how a script works, finding where something lives, asking about an error, or planning a change before you make it. |
Switch modes in the composer
- Look at the toolbar under the message box. On the left are the + button for attachments, the mode chip and the plugin status. On the right are the model picker, the mic and Send.
- Click the mode chip. It shows the mode you are in, Build unless you changed it.
- Pick Ask (Answers questions about your game without changing anything) or Build (Makes changes in Studio).
- Type your message. In Ask mode the box reads Ask anything about your game..., and your message is tagged Ask in the chat.
The choice is remembered in that browser, so a chat you open later starts in the mode you last picked. Check the chip before you send a change.
Where is the coin total saved, and why does it reset when I rejoin?
- Looks through the place with reading tools such as Search Scripts, Search Game and Read Script
- Can read Studio's Output with Check Output, including errors from a playtest you ran
- Changes nothing: Create Script, Edit Script, Delete Instance and every other tool that changes the place are refused in Ask mode
- Replies with an Answer, and if something needs fixing, says what it would change and where and suggests switching to Build
An example prompt written by us, in Ask mode. The tool names are real, but what a run reads depends on your place.
What Ask can read
An Ask run may use these 9 tools, all of which only read: List Children, Get Descendants, Find Child, Search Game, Search Scripts, Get Properties, Read Script, Check Output and Check Script. Check Script only compiles a script; it never runs it.
Good to know about Ask
- It still needs a connected Studio. Ask reads your place, so the chat will not send until the plugin is connected.
- Ask runs are short. They are made for an answer, not a long job. Ask a follow-up if you want more detail.
- From answer to change. When Ask suggests a fix, switch the chip to Build and ask for the change.
- A prompt keeps its mode. A queued, retried or continued prompt runs in the mode it was sent in, even if you switch the chip afterwards.
The 24 tools
The agent works through 24 tools in the plugin, and every plan gets all 24. In Build mode it can use any of them; in Ask mode only the 9 that read. This is each one by the label the chat shows, grouped by area.
| Tool | Area | What it does |
|---|---|---|
| Create Script | Code | Creates a Script, LocalScript or ModuleScript with its full source. |
| Edit Script | Code | Edits an existing script by replacing the exact lines that change, or rewrites it whole. |
| Read Script | Code | Reads a script with line numbers, whole or by line range. Up to 12,000 characters per read. |
| Search Scripts | Code | Searches the text inside scripts and returns matching lines. It scans the first 300 objects under where it starts. |
| List Children | Context | Lists an object's direct children with name, class and path, and flags duplicate names. |
| Get Descendants | Context | Lists everything under an object, up to 500 objects per call. |
| Find Child | Context | Finds one child by its exact name under a path. |
| Search Game | Context | Searches object names and class names, never script code. Up to 20 matches. |
| Get Properties | Context | Reads a set of key properties for the object's class, plus every attribute and tag. Not every property. |
| Check Output | Context | Reads lines from Studio's Output (all, errors, warnings, or errors and warnings), including Server and Client lines from your last playtest. |
| Create Instance | Studio hierarchy | Creates any non-script object, such as a Part, Folder, Model, RemoteEvent, Value or UI object, with properties, under an existing parent. |
| Set Property | Studio hierarchy | Sets one writable property, converting values to Vector3, UDim2, Color3, CFrame, Enum values and object references. Not every property type can be set. |
| Set Attribute | Studio hierarchy | Sets an attribute on an object. |
| Add Tag | Studio hierarchy | Adds a CollectionService tag. |
| Remove Tag | Studio hierarchy | Removes a CollectionService tag. |
| Clone Instance | Studio hierarchy | Copies an object, optionally renamed or moved to a new parent. |
| Delete Instance | Studio hierarchy | Destroys an object that RoCode created in this chat or that you asked it to remove, and reports any siblings with the same name that are left. For anything else, RoCode asks you first. See Deletions. |
| Group Selection | Studio hierarchy | Groups the objects on the agent's own list into a Model. |
| Ungroup Model | Studio hierarchy | Ungroups a Model, moving its children to the model's parent. |
| Pivot To | Studio hierarchy | Moves a part or model by setting its pivot. |
| Build Structure | Studio hierarchy | Builds a Model from a list of parts (class, size, position, colour, material, shape) in one call. |
| Place Prefab | Studio hierarchy | Places one of the 12 ready-made structures below, built from parts. |
| Build UI | Interface | Starts a ScreenGui from one of 6 layouts or a blank panel, with placeholder items and a companion LocalScript. |
| Check Script | Checks | Compiles a script with Luau's compiler inside Studio and adds a short list of warnings. Covers one script, a folder or the whole game. |
You may also see Agent Selection in the log. It is the agent's internal list of paths, used before Group Selection, and it is never Studio's own selection. It is not one of the 24.
The 12 ready-made structures
Place Prefab builds these from parts: no meshes. Anything else is built part by part with Build Structure.
- Wall
- Floor slab
- Roof wedge
- Room
- House shell
- Tower
- Platform
- Bridge
- Staircase
- Fence segment
- Arena
- Obstacle course
The 6 UI layouts
Build UI starts a ScreenGui from a shop, inventory, HUD, dialog, leaderboard or settings layout, or a blank panel. Layouts come with placeholder items. The companion LocalScript adds hover effects and makes the Close button hide the screen; the game logic is written as separate scripts. RoCode can also build a ScreenGui object by object, with Frames, TextButtons, TextLabels, ScrollingFrames and UICorner.
Checks, Output and undo
What Check Script checks
Check Script runs a script through Luau's compiler inside Studio. A compile error comes back with its line and column. It also warns about the patterns below. It doesn't type-check, lint or run your code, so it catches compile errors and a few risky patterns, not logic bugs.
| It warns about | What to do instead |
|---|---|
wait(), spawn() and delay() | Use task.wait(), task.spawn() and task.delay(). |
loadstring | Avoid running code built from strings. |
A require that does not point to a ModuleScript | Point it at the ModuleScript you meant. |
| A ModuleScript that does not return a value | Return the module's table or value at the end. |
A GetService name that does not exist | Fix the service name. |
After every Create Script or Edit Script, the agent is told to run Check Script on that script before it finishes. If a check fails, RoCode can't finish the run until a later check passes. After two tries it can finish, and it tells you what is still failing.
Errors from your playtests
RoCode reads Studio's Output only when a step asks for it, usually with Check Output. It does not watch the Output window, and the runtime lines it can read come only from playtests you run. The flow:
- Press Play in Studio and reproduce the problem.
- Tell RoCode what broke. You can press Stop first: Server and Client lines from your last playtest are kept.
- Check Output reads the Output, then RoCode reads the script around the error line and edits it.
- Play again to confirm the fix.
Undo, batch by batch
RoCode sends its changes to Studio in batches, and each batch is marked as an undo point in Studio's history. Undoing a longer run takes several presses of Ctrl+Z (⌘Z on Mac). The chat's Revert button only rewinds the conversation, not Studio.
Deletions
Since 9 October 2026, RoCode deletes or ungroups an object only when one of these is true:
- RoCode created that object earlier in the same chat.
- Your message asks it to remove the object: by name, by saying everything, or while you have it selected in Studio.
- RoCode asked whether to delete it, and you said yes.
Otherwise the delete is refused and RoCode asks you. Each deletion shows in the chat with its path and is part of that batch's undo point in Studio, so you can undo it batch by batch. In Ask mode, Delete Instance is refused.
The header line in new scripts
Scripts made with Create Script, and scripts rewritten whole, start with the comment -- Generated by RoCode AI | https://rocode.app. Targeted edits don't add it.
Models and credits
| Model | Plans | What to know | What it uses |
|---|---|---|---|
| DeepSeek V4 Flash | Every plan | Made by DeepSeek. A free model, run on US servers. | Your 3 free credits a day, shared with GPT-OSS 120B. On a paid plan it uses your plan credits after those. |
| GPT-OSS 120B | Every plan | Made by OpenAI, with open weights. The second free model, also run on US servers. | Your 3 free credits a day, shared with DeepSeek V4 Flash. On a paid plan it uses your plan credits after those. |
| GLM 5.3 | Pro and up | Made by Z.ai. The default after you upgrade. | Your monthly credits, about 4 credits a task at current rates |
| Claude Sonnet 5.5 | Pro and up | A stronger model from Anthropic. RoCode asks you to confirm the first time you pick it. | Your monthly credits, used faster than on GLM 5.3 |
| Claude Opus 5.5 | Studio and up | Anthropic's top model. RoCode asks you to confirm the first time you pick it. | Your monthly credits, used faster than on GLM 5.3 |
| GPT-6 Astra | Ultra and up | OpenAI's top model, and the one that uses credits fastest. RoCode asks you to confirm the first time you pick it. | Your monthly credits, used fastest |
| Your own model | Any paid plan | A model ID you choose on OpenRouter. It must support tool calling, and not every model completes runs with RoCode's tools yet. | Your OpenRouter balance |
Max includes every model. Starter users pick DeepSeek V4 Flash or GPT-OSS 120B.
The model picker sits on the right of the composer toolbar, under the message box. It shows every model. A model your plan does not include has a lock and the name of the plan it needs.
Images in a message need Claude Sonnet 5.5, Claude Opus 5.5 or GPT-6 Astra: PNG, JPG or WebP, under 10 MB each, up to 4 per message.
If a paid model is slow to start, RoCode first tries the same model through another provider. If GLM 5.3 still fails, DeepSeek V4 Flash can finish a text task, charged at its lower price, and the line under the reply says so. On other models the run stops, and a run that fails on our side gets its credits back. Runs on your own key never switch.
The first time you pick Claude Sonnet 5.5, Claude Opus 5.5 or GPT-6 Astra, RoCode shows what it costs and asks you to confirm. If you are under 18, a parent or guardian needs to agree. Long chats cost more on these three models, so start a new chat for a new task.
What a credit is
A credit measures what a run costs to compute. Stronger models and longer runs use more. The chat shows the credits a run is using while it works and the total under every reply.
For scale, at current rates: an advanced task (GLM 5.3, the default on paid plans) uses about 4 credits, and a standard task (DeepSeek V4 Flash) about 0.4. That makes Pro about 35 advanced tasks a month or 375 standard tasks, Studio about 100 or 1,000, Ultra about 225 or 2,250 and Max about 500 or 5,000. Long tasks use more. Claude Sonnet 5.5, Claude Opus 5.5 and GPT-6 Astra use credits faster. On the free models, 3 credits is enough for a few small tasks a day.
Every plan, paid ones included, gets 3 free credits a day on DeepSeek V4 Flash and GPT-OSS 120B. On a paid plan, your plan credits are used after those.
Your balance is at the top of the chat. On a paid plan it reads like 118.4 credits. On Starter it reads like 2.4 of 3 today. Click it to see your plan credits and when they reset, your pack credits, and the free credits left today. The line under each reply shows what the run used, the model that ran, the number of steps and the time. The Usage section of your account page shows your balance, the reset date, the last 14 days and every run with its credits, and you can download it as a CSV file. Voice input uses a small amount of credits.
If you stop a run, it counts up to where it stopped. A run that fails because of a problem on RoCode's side gets its credits back automatically. One run also pauses after a set number of credits and asks before it goes on; see Limits.
When credits reset
| Detail | Starter (free) | Paid plans |
|---|---|---|
| Allowance | 3 credits a day | 150, 400, 900 or 2,000 credits a month. No daily cap. |
| Resets | Every day at 00:00 UTC | Monthly plans: each month, when your payment goes through. Annual plans: every 30 days. The chat shows the exact date and time. |
| Unused credits | Don't carry over | Plan credits don't carry over. Pack credits never expire. |
| When you run out | Wait for 00:00 UTC, or upgrade | Add a credit pack, move up a plan, use your own key, or wait for the reset. You can also keep going on DeepSeek V4 Flash or GPT-OSS 120B with your 3 free credits a day. |
Your own OpenRouter key (paid plans only)
- Plans: every paid plan. It is not available on Starter.
- Where: the last card in the chat's model picker, tagged OpenRouter. You add an OpenRouter API key (
sk-or-v1-...) and a model ID. - Billing: OpenRouter bills your account, and no RoCode credits are used, even after your monthly credits run out.
- Subscriptions: none needed. Claude, Claude Code and ChatGPT subscriptions can't be connected.
- Checked: the key, with OpenRouter, when you save. The model is not checked, so try yours on a small task first.
- Stored: encrypted, and you can remove it any time. See Privacy and security.
Credit packs
On paid plans you can buy extra credits on the account page: from 25 credits for $2.99 up to 1,500 credits for $94.99. Packs are used after the monthly credits, and they never expire. If your plan ends, they stay on your account and work again when you pick a plan. Packs are not sold on Starter.
| Pack | Price |
|---|---|
| 25 credits | $2.99 |
| 50 credits | $4.99 |
| 120 credits | $9.99 |
| 200 credits | $14.99 |
| 300 credits | $19.99 |
| 500 credits | $32.99 |
| 800 credits | $51.99 |
| 1,500 credits | $94.99 |
Limits
| Limit | Value |
|---|---|
| Runs at once | Up to 3 per account |
| One run | Up to 80 model turns (calls to the model), each able to use several tools, or 5 hours |
| One Ask run | Short, and read-only: only the 9 reading tools |
| Credits in one run | One run pauses after a set number of credits and asks before it goes on. The limit depends on the model, and it can be lower on smaller plans. You can continue or let it finish up. |
| Get Descendants | Up to 500 objects a call |
| Search Game | Up to 20 matches |
| Search Scripts | First 300 objects under where it starts |
| Script source per read | 12,000 characters; longer scripts are read in line ranges |
| What the model sees per read | Trimmed to 4,000 characters, 6,000 for checks, 12,000 for script source |
| Text attachments | Up to 12 files and 20,000 characters in total. Binary place and model files (.rbxl, .rbxm) are not accepted. |
| Image attachments | PNG, JPG or WebP, under 10 MB each, up to 4 per message, with Claude Sonnet 5.5, Claude Opus 5.5 or GPT-6 Astra |
| Voice input | Up to 4 minutes a recording; the transcript lands in the message box for you to edit |
What RoCode does not do today
- Press Play or run playtests on its own
- Move a character, click buttons or simulate input
- Take screenshots of your game. You can attach your own screenshot when you use Claude Sonnet 5.5, Claude Opus 5.5 or GPT-6 Astra.
- Generate meshes or animations
- Sculpt or paint terrain
- Insert models from the Toolbox or Creator Store
- Publish or save your place, or change Experience Settings
- Build a finished, balanced game from one sentence
- Work on a phone: the chat shows that it is a desktop app only
It also has no tools for game passes, developer products, uploading assets or turning on API Services, and it does not run your scripts. It writes Luau that uses DataStoreService, RemoteEvents, TweenService or PathfindingService like any Roblox script, and builds the instances those scripts need, but you playtest to confirm they work.
Privacy and security
This is how RoCode works today, in the same words as the homepage. The Privacy Policy is the full policy, and the Terms cover using RoCode.
| Topic | How it works |
|---|---|
| What it can read | The place open in the connected Studio window: objects, properties, attributes, tags, script source and Output. It reads only when a step of a run asks, or when you search with / in the chat. Each read a run makes shows in the chat. |
| What gets uploaded | No place file and no background sync. The model sees what each read returns, trimmed per read. |
| Your Roblox account | RoCode never asks for your Roblox password, and the plugin makes no calls to Roblox's web APIs. It can't reach closed places, your other experiences or your account. |
| Which places | Only the one Studio window that is connected. Once paired, the plugin reconnects in any place you open on that computer. To stop that, disable RoCode AI in Plugins > Manage Plugins. |
| What is stored | Your chats, so you can pick up later: prompts, attached text files, replies, chat titles, the code RoCode wrote or read, and the Output lines it saw. Chats stay until you delete them. Run records (tool names, object paths, error messages and partial replies) stay until you delete your account. |
| Who processes a request | Every call to the model goes through OpenRouter to a hosting provider for the model that runs your request: the one you picked, or its backup. Chat titles, suggested next prompts and voice input go through OpenRouter too. RoCode has no models of its own. RoCode's database and relay run in the United States, some site functions run on Vercel's edge network near you, and model hosts may be anywhere. |
| Encryption | HTTPS for the site and the chat, and an encrypted connection between the plugin and RoCode's servers. RoCode can read stored chats. |
| Your OpenRouter key | Encrypted with AES-256-GCM before it's stored. It's decrypted only on RoCode's servers, to run your requests and to show it back to you in the model picker. Remove it any time. |
| On your computer | The plugin keeps a connection key in Studio's plugin settings so it can reconnect, and a copy of recent Output lines. Every 30 seconds it adds and removes a temporary script in ServerStorage to check its Script Injection permission. On a shared computer, disable the plugin when you're done. |
| Deleting your account | Deleting your account cancels your subscription right away, then deletes your profile, chats, messages, keys and run records. Kept: billing records needed for refunds and chargebacks (including your email address on payment emails), per-run usage records that keep your old account ID, and usage analytics with your account ID removed. |
RoCode's instructions also tell the agent to treat text inside your place as data, not instructions, and to refuse exploits, backdoors and scripts meant to harm players or steal data.
Troubleshooting
Most setup problems are one of the cases below. If yours is not, ask in the RoCode Discord, which is where support happens.
Studio can't connect, or the plugin says WebSocket is not available
Update Roblox Studio. The plugin keeps its live connection to RoCode through Studio's WebSocket support, and older builds do not have it. Your network also has to reach relay.rocode.app over WebSockets; school or work networks that block this cannot connect.
The plugin warns that HTTP requests are blocked
Allow HTTP requests to both www.rocode.app and relay.rocode.app for RoCode AI in Plugins > Manage Plugins. The plugin checks both hosts when it loads.
RoCode cannot create or edit scripts
Script Injection was probably declined. Turn it on for RoCode AI in Plugins > Manage Plugins (the pencil icon), then restart Studio.
The code is not accepted
A code is valid for 15 minutes and works once, so type the code the RoCode panel shows now. It never contains I, L, O, 0 or 1.
I typed the code but Studio is still not connected
Look at the RoCode panel in Studio. It shows a confirm row with your account: press Connect there. If nobody confirms within 2 minutes, the panel shows a new code, so type that one into the chat.
The send button stays off in Ask mode
Ask reads your place, so it needs a connected Studio like Build does. Pair the plugin first, then send your question.
I signed in with Roblox and my plan or chats are missing
A Roblox sign-in does not link to an existing RoCode account, so it is a separate account. Sign out and sign in the way you usually do, with your email code, Google or Discord, to keep your plan and chats.
The chat asks me to press Connect anyway
Studio and the browser are on different public networks, for example because of a VPN or iCloud Private Relay. Press Connect anyway, then type a new code from the RoCode panel.
The plugin briefly says "No chat found"
Keep the chat open. The plugin reconnects and the same code comes back.
The connection moved to another Studio window
Only one Studio window is connected at a time: opening a place in a second window moves the connection there. Work in one Studio window while you use RoCode.
I use Brave and cannot connect
Brave Shields block the connection to Studio. Turn Shields off for rocode.app, or use Chrome or Edge.
RoCode connects in places I did not mean it to
Once paired, the plugin reconnects in any place you open on that computer. Disable RoCode AI in Plugins > Manage Plugins when you do not want that. On a shared computer, disable the plugin when you are done.
A script called RoCodePermissionCheck keeps appearing in ServerStorage
That is expected. Every 30 seconds the plugin adds and removes a temporary script there to check its Script Injection permission.
Check Script reports a syntax problem in a script that looks right
The current plugin can report an unbalanced delimiter in a valid script, for example one with an apostrophe in a comment. Open the script in Studio: the Script Editor underlines real errors, and the Script Analysis window (the Analysis button in the Script tab) lists them. If Studio shows no error there, you can ignore that report. A failed check cannot block a run for ever: after two tries the run can finish, and RoCode tells you what is still failing.
A run stopped partway
The changes made so far stay. Press Continue to pick up where it stopped. If it paused at its credit limit for one run, you can also press Finish up. If it stopped because you ran out of credits, see When credits reset.
RoCode missed the script I meant
In a big place Search Scripts covers only the first 300 objects under where it starts. Name the folder or script in your message, or attach it with /.
My own model does not finish runs
The model must support tool calling, and not every model completes runs with RoCode's tools yet. The key is checked when you save, but the model is not, so try another model ID on a small task.
Data store saving does not work in Studio
Turn on Enable Studio Access to API Services in File > Experience Settings > Security, then click Save. The place has to be published first, and RoCode cannot change this setting. Studio then uses the same data stores as the live game, so turn it on in a separate test copy.
Plans
| Plan | Monthly | Annual | Credits | Models |
|---|---|---|---|---|
| Starter (free) | Free, no card | None | 3 a day, refilled at 00:00 UTC | DeepSeek V4 Flash and GPT-OSS 120B |
| Pro | $9.99 a month | $83.99 a year | 150 a month | Adds GLM 5.3 and Claude Sonnet 5.5 |
| Studio (Recommended) | $24.99 a month | $209.99 a year | 400 a month, 2.7x Pro | Adds Claude Opus 5.5 |
| Ultra | $49.99 a month | $419.99 a year | 900 a month, 6x Pro | Adds GPT-6 Astra |
| Max | $99.99 a month | $839.99 a year | 2,000 a month, 13x Pro | Every model |
- Every plan gets all 24 tools. Paid plans add more models, your own OpenRouter key, credit packs and no daily cap, and their runs go ahead of Starter runs in the queue.
- Annual plans cost 30% less than 12 months of the monthly plan, are billed once a year and get the same credits, refilled every 30 days. An annual plan bought before credits stays as it is.
- Paddle runs checkout as the merchant of record: it takes the payment, handles sales tax or VAT, issues the invoice and is the seller on your receipt. RoCode does not store card details.
- If you are under 18, ask the cardholder before you buy.
- Cancel from your account page. You keep your plan to the end of the paid period and aren't charged again.
Upgrades, downgrades and the full comparison are on the pricing page.
Refunds
- Refunds are in full within 14 days of any payment, including renewals and credit packs. That applies for any reason, wherever you live.
- How to ask: at paddle.net, or by replying to your Paddle receipt.
- After a refund, new plans, upgrades and credit packs are paused for 60 days. The credits that payment bought are removed.
- After 14 days: payments are not refundable, except where the law requires.
Support questions
Is RoCode made by Roblox?
No. RoCode is an independent product. It is not affiliated with, endorsed by, or sponsored by Roblox Corporation, and it is separate from Roblox Assistant.
What is Ask mode in RoCode?
Ask is the second mode in the RoCode composer, next to Build. Build makes changes in Studio. Ask answers questions about your game without changing anything: it may use only 9 reading tools, such as Read Script, Search Scripts and Check Output, and any tool that would change the place is refused. To switch, click the mode chip on the toolbar under the message box and pick Ask. Ask still needs a connected Studio, because it reads your place.
Which AI models does RoCode use?
Third-party models, run through OpenRouter with RoCode's own instructions and Studio tools. RoCode has no models of its own. DeepSeek V4 Flash and GPT-OSS 120B are on every plan, including the free Starter plan. GLM 5.3 and Claude Sonnet 5.5 come with Pro, Claude Opus 5.5 with Studio and up, and GPT-6 Astra with Ultra and up. Max includes every model. On any paid plan you can also use your own OpenRouter key with a model that supports tool calling.
How many credits does a task use in RoCode?
It depends on the model and the length of the run. At current rates, an advanced task on GLM 5.3 uses about 4 credits and a standard task on DeepSeek V4 Flash about 0.4. Long tasks use more, and Claude Sonnet 5.5, Claude Opus 5.5 and GPT-6 Astra use credits faster. The chat shows the credits a run is using while it works and the total under every reply.
Do I have to pair every time I open Studio?
No. After the first pairing, the plugin stores a connection key in Studio's plugin settings and reconnects on its own, in any place you open on that computer.
Can I use RoCode on a phone?
No. The chat needs a desktop browser, and Roblox Studio has to run on Windows or Mac.
Does RoCode press Play or publish my game?
No. It works in edit mode. It does not start playtests, publish or save your place, or change Experience Settings. You playtest and publish yourself.
Can I use my own OpenRouter key on the free plan?
No. Your own OpenRouter key is part of every paid plan. Starter uses DeepSeek V4 Flash or GPT-OSS 120B with 3 credits a day.
Where do I get help?
In the RoCode Discord. Say what you tried and what the chat or the plugin panel shows.
Sources and further reading
- RoCode Plugin on the Roblox Creator Store. the plugin this page describes
- Pricing. every plan, credit packs, changing plans and refunds
- Privacy Policy. the full privacy policy
- Terms of Service. the terms for using RoCode
- Changelog. every release, newest first, including the one-time pairing code on 27 September 2026
- Roblox Creator Docs: Creator Store. installing a plugin from the Creator Store
- Roblox Creator Docs: Data stores. turning on Studio access to API Services, and why to use a test copy
- Roblox Creator Docs: Output. the Output window that Check Output reads
- Roblox Creator Docs: Script Editor. where the Script Analysis window lists errors in a script