update rules

This commit is contained in:
Joe 2026-02-02 14:05:11 -06:00
parent 4c390fdd37
commit d5522b2fef
8549 changed files with 11783 additions and 1888 deletions

View file

@ -0,0 +1,79 @@
---
title: Assistant for Studio
description: How to use Assistant to help build, grow, and monetize your creations in Studio.
---
import BetaAlert from '../includes/beta-features/beta-alert.md'
**Assistant** is an AI helper that accelerates content creation by helping you get started, supplementing your skills, and assisting with ongoing development. It can do the following and much more:
- Answer how to do things on Roblox
- Add and edit objects and scripts directly in your place's data model
- Insert objects from the Creator Store
- "Explain this code" by selecting parts of a script in the Script Editor
- Create materials to restyle your objects
- Generate 3D objects to populate your scene
## Studio features
In Studio, Assistant consists of a large language model (LLM) that generates code and a run-command module (similar to the existing [Command Bar](../studio/ui-overview.md#command-bar)) that runs code. As a result, Assistant can act directly on your data model, such as inserting and modifying objects, writing and inserting scripts, and automating repetitive tasks like modifying properties in bulk.
For a more in-depth look at what Assistant can do and how to use it, see the [Prompt guide and examples](prompt-engineering.md) and the following Roblox Staff livestream for tips, tricks, and inspiration.
<iframe width="640" height="360" style={{marginTop: '36px'}} src="https://www.youtube-nocookie.com/embed/vMaOGgeuR4Y?si=fuX-80mMMzhQB6sn&amp;start=240" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
### Insert and modify scripts
Assistant can insert new scripts, modify existing ones, and perform these actions across multiple objects as necessary. For example, if you ask it to create a remote event, it can create a local script, a server script, and the event all at once.
If you enter a script generation request like "Make the player's character jump when they touch this part," Assistant shows the script's contents and adds the new script instance to the currently selected object in the data model. If nothing is selected, Assistant decides where to place it based on your prompts.
<img src="../assets/assistant/Studio-Script-Insert.png" width="360" alt="Requested script inserted into selected part." />
The generated script might not function flawlessly. In these cases, you can either make further edits in the [Script Editor](../studio/script-editor.md) or ask Assistant to edit the script it just created. It can even act on existing scripts that it didn't create if you need help with code that you've written yourself.
### Insert and modify objects
Assistant can create, edit, delete and iterate on instances in your data model, including inserting items from the Creator Store.
<img src="../assets/assistant/Studio-Object-Insert.png" width="532" alt="Assistant adding objects through the Studio prompt." />
If you examine the code, you can see that Assistant calls `Class.InsertService:GetFreeModels()` to query the Creator Store for a wheelbarrow model and uses `Class.Model:PivotTo()` to place it near a tree.
### Provide answers and suggestions
If you need general knowledge or help while creating an experience, you can ask Assistant questions like how to make a team system, how to design a game loop, how to use specific Studio tools, and much more. It can even explain code that it generated or that you wrote yourself.
<img src="../assets/assistant/Studio-Explain-Code.png" width="360" alt="Code explanation provided by Assistant in Studio." />
### Generate materials
When given a request to generate a material, Assistant in Studio can quickly style existing parts through a lightweight implementation of the [Material Generator](../studio/material-generator.md).
<img src="../assets/assistant/Studio-Quick-Styling-Material.png" width="360" alt="Material variations shown in Assistant for quick styling." />
### Generate 3D models
<BetaAlert betaName="Assistant Mesh Generation" leadIn="This feature is currently in beta. Enable it through " leadOut="." components={props.components} />
The `/generate` command enables [mesh generation](https://corp.roblox.com/newsroom/2025/03/introducing-roblox-cube), powered by Roblox's Cube 3D model.
1. In the Assistant chat window, type a command such as `/generate a red buggy with knobby tires`.
1. Assistant generates the corresponding object and adds it directly to your workspace for further customization.
<img src="../assets/assistant/Studio-Generated-Green-Dragon.jpg" width="360" alt="A generated green dragon provided by Assistant in Studio." />
## Access Assistant from Studio
To access Assistant from Studio:
1. Click **Assistant** on the right side of the mezzanine bar.
<img src="../assets/studio/general/Toolbar-Assistant.png" width="800" alt="Assistant button indicated on the right side of the mezzanine bar." />
2. Type a request into the field near the bottom of the window, using guidance from the [prompt guide](prompt-engineering.md) to generate improved responses.
- Click thumbs up or thumbs down to rate the result and improve future results.
- Click the redo icon to process a new result.
<img src="../assets/assistant/Studio-General-UI.png" width="360" alt="General user interface for Assistant in Studio." />

View file

@ -0,0 +1,65 @@
---
title: Assistant
description: Overview of Assistant, Roblox's AI helper.
hideInPageNavigation: true
---
export const sections = [
{
description: "Assistant is an AI helper that accelerates content creation by helping you get started, supplementing your skills, and assisting with ongoing development.",
content: [
{
title: "Assistant for Studio",
description: "In Roblox Studio, Assistant can act directly on the data model to write scripts, insert and modify objects, and automate repetitive tasks so that you can focus on creation.",
image: "/assets/assistant/AssistantStudioExample.png",
buttons: [
{ text: "Assistant for Studio guide", href: "assistant/guide"}
]
},
{
title: "Assistant in the documentation",
description: "Assistant is available directly from the documentation. Ask it to clarify concepts, provide sample code for a use case, or compare and contrast approaches to a problem.",
image: "/assets/assistant/AssistantDocumentationSite.png"
},
]
}
];
{sections.map((section, index) => (
<Grid xs={12} key={index}>
<div style={{ marginTop: 16, marginBottom: 48 }}>
{section.description && (
<p>{section.description}</p>
)}
</div>
{section.content.map((section, index) => (
<Grid container spacing={8} key={index} style={{ marginTop: 24 }}>
<Grid item xs={12} md={6}>
<div>
<h2>{section.title}</h2>
<p>{section.description}</p>
<div style={{ marginTop: 24, marginBottom: 48 }}>
{section.buttons && section.buttons.map((button, btnIndex) => (
<Button
key={btnIndex}
variant="contained"
color="secondary"
size="large"
href={button.href}
>
{button.text}
</Button>
))}
</div>
</div>
</Grid>
<Grid item xs={12} md={6}>
<img
src={section.image}
alt={section.title}
/>
</Grid>
</Grid>
))}
</Grid>
))}

View file

@ -0,0 +1,248 @@
---
title: Assistant prompt guide and examples
description: Get tips and tricks on how best to prompt Roblox's AI Assistant to get the best results.
---
<Alert severity="success">
[Share your prompts and experiences](https://devforum.roblox.com/t/check-out-the-generative-ai-stream-and-let-us-know-your-best-prompts/3215844) in the Roblox forum so that we can make Assistant better!
</Alert>
This document gives guidance on prompting Assistant and provides examples and inspiration on what Assistant can do.
## Be specific
If Assistant fails, add more details to your prompt and try again. Use instance names exactly as they're spelled, specify which function you want Assistant to use, and tell Assistant which type it's working with, such as a part or a model.
<table>
<tr>
<th>**Not specific**</th>
<th>**More specific**</th>
</tr>
<tr>
<td>Place the trees in a circle.</td>
<td>Place 10 copies of the "pine_tree" model in ReplicatedStorage in a 30 stud radius circle around the SpawnLocation.</td>
</tr>
<tr>
<td>Make the part move.</td>
<td>Add a script to make "my_part" move up and down 10 studs repeatedly using TweenService.</td>
</tr>
<tr>
<td>How can I design a core loop?</td>
<td>Help me design a fun core loop. I want to build a game where players can hunt treasure as pirates. They can also buy and upgrade pirate ships and battle each other.</td>
</tr>
</table>
## Use your selection
Selection is a great way of specifying an object or set of objects you want to refer to in your prompt. Select multiple objects and ask Assistant to modify them, make duplicates and place them somewhere, or continue a position pattern like maintaining placement in a line.
## Edit time and run time
Assistant sometimes confuses the difference between edit time and run time. If you ask Assistant to take an action, it will likely bias towards doing it at edit time. If you want the action to happen during run time, ask Assistant to insert a script that takes the action. For example, tell Assistant "add a script to make the time of day 8:00 AM" instead of "make the time of day 8:00 AM."
## Keep trying
Don't get discouraged if Assistant doesn't work exactly the way you want the first time. Often, making small tweaks and trying again can lead to better results. Many AI tools are non-deterministic, meaning they don't create the exact same output each time you ask them to do something. There's some variance, which you can tap into and control using tweaks to your prompt.
AI in its current state requires work. It takes time to understand how to best speak to Assistant, what it can do, and how to get what you want out of it.
## Multi-step prompts
Consider using multi-step prompts to encourage Assistant to think. Instead of asking "Can you explain this script to me?" and pasting in the script, ask it to explain step-by-step by separating the question from the script with `###`. This separation helps Assistant deconstruct and organize the information to provide better answers.
<Tabs>
<TabItem label="Prompt">
<blockquote>
_Can you explain what this script is doing step by step?_
**\###**
_local part = workspace.Part_
_local function onTouched(otherPart)_<br />
&nbsp;&nbsp;&nbsp;&nbsp;_print(part.Name .. " collided with " .. otherPart.Name)_<br />
_end_
_part.Touched:Connect(onTouched)_
**\###**
</blockquote>
</TabItem>
<TabItem label="Assistant response">
<blockquote>
_Certainly! This script is an example of how to handle collisions between two parts in Roblox. Let's break it down step by step:_
1. `local part = workspace.Part`: _This line of code creates a local variable named `part` and assigns it the value of the `Part` object located in the workspace. You can replace `Part` with the name of the specific part you want to detect collisions with._
2. `local function onTouched(otherPart)`: _This line of code defines a function named `onTouched` that takes in a parameter `otherPart`. This function will be called whenever the part collides with another part._
3. `print(part.Name .. " collided with " .. otherPart.Name)`: _This line of code prints a message to the output console, indicating that the `part` has collided with `otherPart`. The `part.Name` and `otherPart.Name` are concatenated using the `..` operator to form the message._
4. `part.Touched:Connect(onTouched)`: _This line of code connects the `onTouched` function to the `Touched` event of `part`. Whenever the part collides with another part, the `onTouched` function will be called._
</blockquote>
</TabItem>
</Tabs>
## Examples
These examples demonstrate the vast variety of tasks that Assistant can help with today. Some of them might take a few tries for you to reproduce, but give them a try and see what you can come up with yourself.
### Game mechanics - Shoot fireballs that explode
**Prompt:**
Propel a fireball away from the player in the direction the player is facing when the player presses "e".
Make the fireball explode when it hits something.
<video controls width="90%" src="/assets/assistant/prompt16.webm" />
### Game mechanics - Set up a teams system and assign players
**Prompt:**
Add a script to make a system of teams (red, blue, green, yellow) and assign each player randomly to a team.
<video controls width="90%" src="/assets/assistant/prompt17.webm" />
### Game mechanics - Temple run style constant running
**Prompt:**
Make my character run forward constantly like in a temple run game.
<video controls width="90%" src="/assets/assistant/prompt3.webm" />
### Game mechanics - Fire power up
**Prompt:**
Add a script that makes the player light on fire and jump 3 time as high if they press "q". The fire should be attached to the player and move with them. If they press "q" again, turn off the fire and reset the jump power.
<video controls width="90%" src="/assets/assistant/prompt4.webm" />
### Game mechanics - NPC lasers
**Prompt:**
Add a script that makes this shoot a laser using a long thin part that's blue and neon at the player if they're within 30 studs.
Add a script to make this look towards and slowly move towards the closest player if they're within 50 studs. Only move in the x and z axes, keep the y axis constant.
<video controls width="90%" src="/assets/assistant/prompt9.webm" />
### Game mechanics - Interactive NPC
**Prompt:**
This is an NPC. Add a prompt that lets the player interact with it. If the player interacts, have the NPC say "hello [player's name]" where player's name is the actual player's name, in a text pop up.
Add a script that makes this npc always look towards the closest player.
<video controls width="90%" src="/assets/assistant/prompt2.webm" />
### Game mechanics - NPC patrolling
**Prompt:**
Add a script to make this NPC move slowly between startpart and endpart repeatedly.
It should face the part and then move to it, then face the other part and move to it.
If the player comes within 10 studs, turn the NPC red and make it chase the player.
<video controls width="90%" src="/assets/assistant/prompt1.webm" />
### Game mechanics - Update scoreboard
**Prompt:**
Add a script that deletes this and adds 100 to the players score.
Add a script to show the player's score on the scoreboard.
<video controls width="90%" src="/assets/assistant/prompt11.webm" />
### Camera - Lock to top down
**Prompt:**
Add a script that locks the camera in a top down view on the player and follow the player, making sure the player remains in the center of the screen.
<video controls width="90%" src="/assets/assistant/prompt13.webm" />
### Camera - Lock to first person
**Prompt:**
Create a script to lock the camera in first person view.
<video controls width="90%" src="/assets/assistant/prompt15.webm" />
### UI - Drop-down menu
**Prompt:**
Create a drop down menu with 5 items.
<video controls width="90%" src="/assets/assistant/prompt18.webm" />
### UI - Health bar
**Prompt:**
Add a part on the ground, when a player touches it, it decreases health by 10%. Put a UI health bar in the upper center of the screen that turns red when the players health is less than 20%.
<video controls width="90%" src="/assets/assistant/prompt5.webm" />
### UI - Simple HUD
**Prompt:**
Create a heads up display in StarterGui. Add a healthbar to the top right, and a text label with the player's name underneath it. In the bottom right, add 4 buttons in a diamond shape, with "Potions" on top, "Weapons" on the left, "Inventory" on the bottom, and "Special" on the right. Make the colors fall color themed.
<img width="90%" src="/assets/assistant/prompt10.png" />
### Building - Scatter objects with randomization
**Prompt:**
Add 0-5 of the selected instance "Mushroom" around each "RedwoodTree-Var01".
<video controls width="90%" src="/assets/assistant/prompt19.webm" />
### Building - Night / day cycle with street lights
**Prompt:**
Add a script that changes the time of day by 1 hour every second. Start at 3pm. At 7pm, turn every spotlight's brightness up to 10. At 8am turn every spotlight's brightness down to 0.
<video controls width="90%" src="/assets/assistant/prompt7.webm" />
### Building - Physics-based suspension bridge
**Prompt:**
Create a rope bridge. Make 10 wood planks that are 5 studs wide and 2 studs long.
Place them in a row. Add rop constraints on each side of the parts, connecting
each one to the part before it and after it. Make all the rope constraints
visible, anchor the 1st and 10th part, and add a drag detector on the 1st and 10th part.
<img width="90%" src="/assets/assistant/prompt12.png" />
### Building - Add smoke to chimneys
**Prompt:**
Insert an invisible brick that is non-collidable into every chimney in every house. The brick should have a particle inside it that makes smoke that flows upwards, and the smoke must be white.
<video controls width="90%" src="/assets/assistant/prompt14.webm" />
### Building - Rename instances
**Prompt:**
Rename all the "emptyscripts" objects to "Script+uniqueID".
<video controls width="90%" src="/assets/assistant/prompt8.webm" />
### Building - Create terrain
**Prompt:**
Create a terrain region with rolling hills.
<img width="90%" src="/assets/assistant/prompt6.png" />
### Building - Add behavior at scale
**Prompt:**
Add a script to make the spotlights in the folder StreetLights flicker on and off randomly.
<video controls width="90%" controls src="/assets/assistant/prompt20.webm" />
### Building - Replace greyboxes with assets
**Prompt:**
Replace each of the selected parts with a model of the same name currently in the data model inside the AssetLibrary Folder under workspace. For example, if the part is called "Suburban House", look for a model called "Suburban House" and replace the part with that model.
<video controls width="90%" src="/assets/assistant/prompt21.webm" />