To generate a 3D model for Roblox Studio with AI, you use Cube 3D — Roblox's generative foundation model that turns a text prompt into a textured MeshPart. You'll need the mesh and image APIs enabled in your place first, and you'll need to upload the result as a real asset or it won't survive a reload.
Those two gotchas — permissions and persistence — are behind almost every "my AI model came out untextured" or "my mesh vanished" complaint. This guide covers both, plus how to prompt Cube 3D so the output is actually usable.
What does Cube 3D actually do?
Cube 3D is a foundation model — same general idea as an image generator, but for 3D geometry instead of 2D pixels. 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 read correctly under any lighting. Generation typically takes a few tens of seconds.
The catch: by default the output 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 the editable mesh and image capabilities turned on. Without them, generation will either fail outright or — worse — succeed but return geometry with its textures silently stripped.
Open File → Game Settings → Security and enable the mesh/image API toggle. Depending on your Studio version it's labelled either:
- Allow EditableImage / EditableMesh APIs, or
- Allow Mesh & Image APIs
Same capability, different label. If you also want models to persist via Luau, check File → Beta Features for the asset-creation API toggle, since Roblox moves these in and out of beta over time.
These toggles are the single most common reason generated models look broken. Always check them first. If a generation still fails, fix 3D generation walks through the rest.
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.
Rules that consistently improve output:
- Name the material. "wooden," "marble," "rusty metal," "polished chrome" — Cube 3D handles PBR maps much better when you tell it what the thing is made of.
- 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 one command — see generate a 3D model. The plugin handles the schema picker and parent placement for you.
Why do my AI-generated models disappear when I reload Studio?
Because Cube 3D's raw output isn't saved to your account. The mesh and texture data live in memory as Content objects for that session only. Reload and they're gone.
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. Reassign MeshContent directly instead.
If you're using Revix, this happens automatically — the plugin uploads meshes and textures as real assets when generation completes, and marks the model so you can tell it persisted.
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 is rate-limited per experience, so if you're rapid-firing variants on a single prop you may briefly get throttled. Space out your iterations rather than spamming regenerate.
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 — pair this with How to Make Roblox Animations With AI to generate the open/close keyframes too.
Where does Cube 3D struggle?
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 = use the
Car5schema so the wheels come as separate MeshParts. - Tiny details. Faces, 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.
Frequently asked questions
Is Cube 3D free to use in Roblox Studio?
Roblox's in-Studio generation is available to creators as part of Studio, subject to rate limits. Third-party plugins that wrap the pipeline may bill for their own usage on top — see the store for how Revix handles it.
Why does my generated mesh have no texture?
Almost always the mesh/image API permission is off in Game Settings → Security, so textures get stripped silently while geometry still comes through. The other cause is calling ApplyMesh on the output, which wipes TextureContent. Check the permission first.
Can I sell or publish AI-generated models on Roblox?
They're your assets and they upload to your account like anything else, but they're still bound by Roblox's Terms of Use and marketplace rules — including moderation and IP rules. Generating a recognizable branded object doesn't make it yours to distribute.
Can Cube 3D generate a whole scene at once?
No, and asking for one is the most common prompting mistake. It's built for single objects. Generate each prop separately and assemble the scene yourself in Studio — you'll get better geometry and far more control.
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 Studio
- Animate them with How to Make Roblox Animations 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 about the time it takes to read this paragraph.