Hey Creators,
Today, we are excited to announce we’re expanding Assistant’s capabilities to perform a broad range of actions in Studio. Assistant can now help you modify the DataModel in order to automate some of the repetitive parts of your work. For example, it can modify properties in bulk, swap items, or restructure your DataModel. This is our first step towards building a smart Assistant that can be a virtual collaborator in your building process.
How it works
Assistant can now modify the DataModel by generating Luau scripts and executing them in Studio. This is very similar to the command-bar and enables Assistant to perform a wide range of actions. This capability is particularly effective for performing simple DataModel modifications in bulk, automating some repetitive parts of experience development so you can focus more on the creative aspects.
Essentially, anything that can be done through the command-bar can now potentially be done using Assistant, from simple actions like selecting all “PineTree”s to complex actions like making smoke come out of every chimney in a place. One thing to note is that this Assistant capability consists of two parts: an LLM that generates the code and a run-command module that runs the code (similar to command-bar). The run-command module can modify the DataModel, but the large language model that generates the code cannot access your Data Model. As a result, it is important to provide context such as the name of the object (e.g. “PineTree”) or properties of the object (“e.g. all objects made of plastic”).
Examples
We’ll walk through a few examples of how you can use this new capability in Assistant to modify your places. These are just some ways you can use Assistant, so try it out and let us know what you find it helpful for. However, also note that this is the first iteration of this feature and there is some effort required in prompting to perform the actions. We have some tips on how to prompt this feature in the Known limitations and tips for using section.
Select specific items
Let’s start with a very simple example in the Suburban Template: Assistant selects all of the objects in your DataModel named “PineTree”. You can also do something more complex like selecting all items in the workspace that have a certain property.
Randomize the size of items
Assistant will run a script to randomize the pine trees’ size in your scene, making your forest more realistic.
Place all items on the ground
Assistant will run a script to move the position of all your parts to being on top of the baseplate.
Replacing assets and Greyboxing
In this example, we greybox a suburban scene and then populate it with an asset pack that I created. Each box has a name that is the same as a target asset that we have in the place and Assistant swaps boxes with copies of those assets. You can also ask Assistant to insert from the Creator Store instead of using your assets.
Clone an object and putting the new instances at the same distance
Here we select two instances of an object, in this case a lamp post, and ask Assistant to follow this pattern and insert multiple copies of that object. You can re-use this on any object to speed up filling a scene. In fact, the green boxes in the previous example were populated with this method.
Something more complex: Make smoke come out of every chimney
There are endless possibilities with what you can ask this feature to perform. Here is an example that a Roblox developer tried in one of our feedback sessions to make smoke come out of every chimney in a place. Note that they wrote very specific instructions about how this should be done. A simple prompt of “add smoke to every chimney” most likely will not work.
Features
Expanding code
You can click on the expand icon to see the code that Assistant is executing to perform your action. You can also copy this code and run it in the command-bar.
Actions are reversible
Almost all Assistant actions are undoable. If Assistant is trying to perform an action that is not reversible, it will give you a warning and ask you to manually click “Run”. (In the example below, we are intentionally asking it to delete an item using Destroy() which is not undo-able, and as a result, assistant gives a warning about the irreversibility)
Running commands
By default, Assistant automatically performs actions when you ask it to do something . However, you can change this setting from the “…” at the bottom right of the Assistant chat window so that it would ask for your permission every time it wants to run a command.
You can also use the run button to run a command multiple times. For example you can ask Assistant to change the color of your selected item to green. Then select different items and click Run to also change their color to green as well.
How to try this feature
This feature is a part of the Assistant beta. To Enable Assistant in Studio:
- Go to File → Beta Features and check the Assistant box.
- Restart Studio.
- Click Assistant in the top right corner of Studio.
Known limitations and tips for using
-
As mentioned above, currently, the Assistant does not have direct access to your DataModel. Therefore, it’s essential to provide it with the necessary context. Assistant does not know the contents and hierarchy of your workspace, but it can perform tasks if you give it clear instructions. For example, if you want to modify an object or a set of objects, it’s important to specify how to find those objects. This could be by their name (e.g., “Randomize the size of every ‘PineTree’”), a specific property (e.g., “Select all objects made of plastic”), or your selection (e.g., “Make the object I selected bigger”). We are working on fixing this limitation and will have an update soon.
-
The more precise you are about the steps you want Assistant to take, the better its performance will be. For instance, in the earlier example of putting street lights along a street, we prompted Assistant to place more lamps at the same distance as the current ones and it worked. However, if you just prompt it to “place lights along the street” it might not work.
-
You can see the script Assistant is running in the chat. If it’s making a mistake (like using a deprecated function) you can tell it to use the function you prefer. We recommend re-writing your original prompt and including the extra guidance instead of having a follow up comment.
We are very early in our AI journey and this is a very early version of what Assistant can look like in Roblox. Over time, Assistant will improve and will be able to perform better with fewer instructions, but in the current state we recommend being detailed about what you want.
Please use the thumbs up and thumbs down buttons when you receive responses from the Assistant. We use that feedback to help us build this capability by identifying which common requests Assistant has trouble fulfilling.
Also we would love to see what you do with this feature! Feel free to reply with any interesting results you get.
Thanks to everyone who made this happen @cthulwho, @NotANumeral, @Urukeli, @Slim_Fandango, @Rusi_002, @montximontxi, @Photoguy82, @Regal_Corgi, @ignotuscaligo, @rblx23lnkd11, @MoonRocketApollo
Thank you!