Go Bananas

OBJ files in browser games

OBJ works on Go Bananas for plain shapes, but its materials and textures are not kept, so for a colored or textured model use GLB instead.

OBJ (Wavefront OBJ) is one of the oldest and simplest 3D formats. It is plain text listing a model's vertices, faces and texture coordinates. Colors and textures live in a separate .mtl material file and image files. Almost every 3D program can open and export OBJ.

What OBJ is good for in games

OBJ is fine for simple, static shapes: rocks, crates, low-poly props, a piece of terrain. Your game can color them in code.

It has real limits:

  • No animations or skeletons. OBJ can't carry a walking character.
  • No materials or textures on Go Bananas. The site keeps the .obj file only. A .mtl file and its textures are not used, even inside a ZIP.
  • Bigger files. As text, OBJ is larger and slower to load than binary formats.

If your model has colors, textures or animations, export it as GLB instead. It keeps everything in one file and loads faster.

Uploading OBJ to Go Bananas

You can upload in three places:

  • Create panel: press the 📎 button or drag the file onto the chat.
  • Assets tab: press Upload Asset.
  • Editor: in the Assets tab press Upload New, press the 📎 in the editor chat, or drag the file onto the editor chat.

You need to be signed in with a verified email to upload.

LimitValue
Size per file200 MB
Total storage100 MB for free accounts created since May 5, 2026; 1 GB for Pro subscribers and older accounts
Uploads20 an hour per account

Failed and deleted uploads don't count toward your storage. The site checks the file looks like OBJ (its first line must be a valid OBJ command) and refuses empty files.

What the site does with it. An OBJ is stored as it is, without conversion. If you upload it inside a ZIP, only the .obj file is kept; the .mtl and texture images are dropped.

You can open it in the built-in 3D viewer and orbit around it. Asset cards show a thumbnail.

The file name matters. The name without .obj becomes the model's name in games: rock.obj is "rock". Renaming the asset changes the name, and code that used the old name won't find it. If two models share a name, the newest one wins.

Using OBJ in your game

Ask the AI. In the create box or the edit box, type @ and pick your model. It inserts the name in quotes:

Scatter twenty copies of "rock" across the field, in different sizes, colored dark gray.

Saying the color you want helps, since the OBJ arrives without materials.

In code. The model's address is in window.GAME_ASSETS.models['name'].url. Go Bananas games use three.js r128 with OBJLoader for OBJ files:

<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/three@0.128.0/examples/js/loaders/OBJLoader.js"></script>
new THREE.OBJLoader().load(GAME_ASSETS.models['rock'].url, (rock) => {
  rock.traverse((child) => {
    if (child.isMesh) {
      child.material = new THREE.MeshStandardMaterial({ color: 0x666666 });
    }
  });
  scene.add(rock);
});

Because there's no material file, the code above gives the model its own material.

Tips and common problems

  • Model shows up white or gray: expected, since materials aren't kept. Set a color or material in code, or ask the AI to.
  • You need the textures: export the model as GLB from your 3D program (most can export GLB with textures), then upload that.
  • Model too big or tiny, or facing the wrong way: OBJ has no fixed unit. Scale and rotate it in code, or ask the AI to "make the rock half the size".
  • Huge files: OBJ is text, so detailed models get large. Simplify the mesh, or use GLB.
  • Deleting a model removes it at once, so games that use it can no longer load it.

From ChatGPT or Claude

The Go Bananas app in ChatGPT and the connector in Claude can't send 3D files. Ask for an upload link and you'll get a link to the game's page, where you can upload the model in the editor.

Related

Your turn.

Describe a game in plain language and play it in your browser a few minutes later. Your first game is free, no account needed.

▶ Make a game