A Roblox project is a collection of places, assets, settings, and other resources that together represent an experience. Roblox stores your projects in the cloud for convenient collaboration, editing, and version control. You create and manage projects with Roblox Studio, an all‑in‑one IDE that provides building, scripting, testing, and publishing tools.


Experiences on Roblox are made up of individual places, comparable to scenes in Unity or maps in Unreal Engine. Each place contains all components for that portion of the experience, including its specific environment, parts, meshes, scripts, and user interface. See Experiences and Places for details on creating and managing experiences.

An experience grouping of three individual places with unique environments.

Every place is represented by a data model, a hierarchy of objects that describe everything about the place. The Roblox engine uses the data model as a source of truth for a place's state, so it can simulate and render it on client devices. For more information on how the Roblox engine interprets the data model, see Client-Server Runtime.

Proper, intentional object organization within the data model is essential for functionality and maintenance of your project. For more information on what objects are available and how to organize and use them, see Data Model.


In Roblox, assets such as images, meshes, and audio are stored as cloud-based assets, so you don't need to bundle local copies into a saved Studio experience. Each asset in the cloud is assigned a unique asset ID from which multiple experiences can utilize them. You can create assets directly in Studio, such as models, or import assets like images, audio, and meshes from other tools.

A decal asset of a young woman with a button for an eye.An untextured treasure chest MeshPart asset.

By default, assets are private to your experience and you can use an asset in any place by referencing its ID. You can also distribute them to the community in the Creator Store, so others can use them as well.

For more information on how to import and publish assets, see Assets.


Packages are reusable object hierarchies that you can define and reuse in multiple places across multiple experiences. For any large project, packages offer the following benefits:

  • Packages can be used as asset kits, allowing you to duplicate a set of objects as needed.
  • Packages make it easier to update assets. For instance, a package can include a tree that's duplicated many times in an environment. If you need to make a change, such as swap textures for the tree, it can be updated once in the package instead of for each individual instance.
  • A package can start with graybox assets, and eventually be replaced with final art assets. When assets are replaced, they retain all original positions and orientations.


Experience settings are managed from the Creator Dashboard or within Studio, including:

  • Basic Info — Basic information about the experience, such as its name, description, and genre. Much of the information here is used in your experience's listing.
  • Communication — Settings which enable eligible users to use chat with voice or animate their avatar via their camera within your experience.
  • Permissions — Configures who can access your experience. New experiences begin as private and can only be edited and joined by you and members of your group with the correct permissions. When appropriate, you can release the experience to the public.
  • Monetization — Options for earning revenue from your experience, as outlined in Monetization.
  • Localization — Configuration for different languages and regions.
  • Avatar — Settings related to avatars, such as avatar scaling and clothing overrides.


With Studio's built-in collaboration tools, team members can contribute to experiences independently on their own time, or alongside others. Key features include:

  • Group admins can manage which members have access to collaborate and which do not, effectively maintaining proper roles within a large team.
  • Collaborators can build alongside other team members in real time and automatically see changes made by others.
  • Collaborators can independently edit the same scripts that others may be editing, test locally, and commit their changes to the cloud-based project when ready.

For more information, see Collaboration.


Your team can instantly test an experience on PC, mobile, VR, and other devices you wish to support through the Roblox app; no need to compile builds, deploy to app stores, or await app store approval.

Studio offers a suite of options for testing an experience before releasing it to the public:

  • Rapid playtesting that provides a close simulation of the experience running on the Roblox application.
  • Multi-client simulation for comparing how each client "sees" other clients within the experience.
  • Device emulation that provides insight on how controls operate on a mobile device or how on-screen UI displays on different screens and aspect ratios.
  • Collaborative playtesting with members of your team.

For more information on each testing option, see Studio Testing Modes.