3D modeling has historically been the biggest skill gap in Roblox development. You could write Luau all day, but if you couldn't model a sword, you were stuck buying assets from the catalog. That gap closed in 2025 when Roblox released Cube 3D, a generative foundation model that takes a text prompt and outputs a textured MeshPart. In 2026, AI plugins like Revix wrap that pipeline so you can generate models without ever leaving Studio.
This guide covers: how to enable Cube 3D in your place, how to prompt it well, how to make sure your models persist across saves, and how to fix the most common issues.
What Cube 3D actually does
Cube 3D is a foundation model — same general idea as Stable Diffusion, but for 3D geometry instead of 2D images. You give it a text prompt and a schema (Body1 for general single-mesh objects, Car5 for multi-mesh vehicles, and a few others). It produces a Model instance containing one or more MeshPart children with both geometry and textures.
The geometry quality is genuinely usable. Textures are PBR (color + normal + roughness + metallic maps in SurfaceAppearance children) which means your models look correct under any lighting. Generation typically takes 15–40 seconds.
The catch: by default everything is in-memory only. The mesh data and textures vanish when you reload Studio unless you upload them as real Roblox assets. We'll get to that.
Step 1: Enable the right Studio permissions
Cube 3D needs two capabilities turned on. Without them, generation will either fail outright or — worse — succeed but return geometry without textures.
Open File → Game Settings → Security. Toggle on:
- Allow EditableImage / EditableMesh APIs — without this, textures get stripped silently
- Allow Mesh & Image APIs (some Studio builds show it under this name) — same toggle, different label depending on version
Then in File → Beta Features, turn on:
- CreateAssetAsync Luau API — required if you want your models to persist across saves
These three toggles are the single most common reason generated models look broken. Always check them first.
Step 2: Write a prompt that actually works
The biggest lever in 3D generation is your prompt. Cube 3D rewards specificity in three dimensions: shape, material, and style.
Bad prompt:
a chair
Better prompt:
a Victorian wooden chair with carved curved legs, red velvet upholstery, brass studs along the seat edge
The first prompt produces something generic. The second produces something distinctive that fits a specific aesthetic.
A few rules that consistently improve output:
- Name the material. "wooden," "marble," "rusty metal," "polished chrome" — Cube 3D nails the material PBR maps when you tell it what to make.
- Describe one object, not a scene. "a sword" works. "a knight holding a sword in a castle" gives you a confused mess.
- Pick a schema that matches the shape.
Body1for most single objects.Car5for vehicles. The schema is a structural hint about how many MeshParts to produce.
If you're using Revix, this is literally one command: generate_3d_model with a prompt. The plugin handles the schema picker and parent placement for you.
Step 3: Make sure your models persist
The default Cube 3D output is not saved to your account. Reload Studio and everything Cube 3D generated this session is gone. This is the single most frustrating part of working with Cube 3D directly, and it's why production-grade AI plugins handle persistence automatically.
The persistence path looks like this:
- Cube 3D returns a Model with MeshParts whose
MeshContentandSurfaceAppearancemaps are in-memoryContentobjects - You convert each Content to an editable instance with
AssetService:CreateEditableMeshAsyncorCreateEditableImageAsync - You upload the editable instance with
AssetService:CreateAssetAsync, which returns an asset ID - You reassign the Content properties on your model to
rbxassetid://<id>URIs
Once that's done, the mesh and textures live on Roblox's CDN and survive any reload.
Important warning: never call MeshPart:ApplyMesh(AssetService:CreateMeshPartAsync(...)) on Cube 3D output. It overwrites the part's TextureContent with the empty content of the freshly-created MeshPart and wipes your textures. The correct approach is reassigning MeshContent directly, not calling ApplyMesh.
If you're using Revix, all of this happens automatically — the plugin uploads meshes and textures as real assets the moment generation completes, and stamps your model with a GenerationPersisted BoolValue so you know it survived.
Step 4: Iterate
Almost no model is perfect on the first generation. The cheap workflow is:
- Generate the model
- If it's wrong, refine the prompt (add detail, name a material, specify a style) and regenerate
- If it's mostly right, manually scale/rotate/recolor in Studio
Cube 3D has a rate limit of 5 generations per minute per experience. Plan accordingly when you're iterating on a single prop.
Step 5: Bring models into a real game
Models generated this way drop straight into your workspace. Treat them like any other MeshPart: parent them under a Model, scale to fit your character size (~5 studs for most player-scale props), and weld them to a primary part if they have moving subparts.
For animated models — say a chest that opens — you can pair this with How to Make Animations in Roblox Studio with AI to generate the open/close keyframes too.
When Cube 3D struggles
It's not magic. Cube 3D is weak at:
- Text on objects. Logos, signs, and labels come out garbled. Use Decals or SurfaceGui for any in-game text.
- Complex mechanical assemblies. A car as a single Model = fine. A car with separately rotating wheels = generate as
Car5schema and the wheels come as separate MeshParts. - Tiny details. Faces on characters, fine jewelry, intricate filigree — these get smoothed out. Generate them as separate larger objects and scale down.
- Exact size matching. Generated meshes don't always come out at the size you'd expect. Always resize after generation.
What to do next
Generated models pair naturally with AI-generated logic. Once you have your prop set:
- Wire up interactions with How to Generate Lua Scripts with AI for Roblox
- Animate them with How to Make Animations in Roblox Studio with AI
- Or jump to a full game build with How to Build a Roblox Game with AI
Try it yourself — install Revix and generate your first textured model in under 30 seconds.