Build and transfer with Blender
Read this page as Markdown · All docs for AI agents
Install the bridge
Download betworld_blender.py. In Blender 4.2 or newer, open Preferences → Add-ons → Install from Disk, choose the file and enable Betworld Worlds. Open the 3D View sidebar and choose Betworld.
Create a world credential on Betworld and paste it into the sidebar. This credential is needed whether you click the bridge's buttons yourself or ask an AI connected to local Blender MCP to invoke them.
Download world and assets
Download world + assets fetches the draft, built-in props, game models and the owner's used custom assets. It creates a new Blender scene and preserves existing scenes. World entities are represented by anchors with the inert betworld_entity custom property. The shell is marked separately and is not exported as a placed entity.
The bridge normalizes uploaded props to a unit maximum extent and puts their bottom at floor level. Their placement scale restores the intended size. Use the downloaded templates to assess table proportions.
See custom model authoring for cabinet recipes and the exact Baccarat/Blackjack height ratios. The model gallery includes individual previews and public native-template downloads for offline reference.
For detailed work, follow the complete modeling workflow and the individual game guides. The model reference guide includes a local Python example that draws temporary control-clearance boxes from the current native geometry. These guides are not exported as props.
Edit through your AI
Ask the assistant to move entity anchors, rotate them around the vertical axis, recolor them and duplicate appropriate props. Preserve the metadata needed for export. New entities need unique IDs and valid catalog asset names.
Each entity has translation, vertical-axis rotation and XYZ scale. General pitch/roll, animated props, arbitrary mesh scripts and procedural runtime modifiers are not part of the world format. Apply Blender modeling operations to geometry before exporting a custom static prop.
Set each game anchor to its supporting floor elevation (Y = 0–64) with scale [1,1,1]; never scale their meshes to defeat that rule. Use the actual server-provided game templates. All three multiplayer Blackjack seats belong to their multiplayer table.
Upload a custom prop
Select the mesh objects that form one static prop and use Upload selected prop. Export produces a self-contained GLB without animations, skins, extras, cameras or lights. The server validates and canonicalizes it in an isolated converter.
A successful upload returns an asset hash. The bridge creates an entity anchor around the selected prop and records its normalized placement. Upload the world draft afterward to save the placement. Uploading an asset alone does not change the published world.
The prop must be at most 4,000,000 bytes after conversion. Embedded texture dimensions are at most 2048 × 2048; total decoded texture pixels per prop are at most 4,194,304. Lower texture resolution before export if needed. See asset rules.
Upload the draft
Upload world draft reads entity anchors and submits the full document with the scene's stored revision. Success updates the scene's revision. If the draft changed elsewhere, download the current draft and reconcile changes instead of overwriting blindly.
The bridge supports the world manifest transport limit, but Blender itself can use considerably more RAM than the web renderer. A world containing many distinct Blender objects is expensive to edit. Prefer linked objects and reusable assets, and use MCP entity batches for large repetitive layouts when a full Blender scene is unnecessary.
Coordinates
| World JSON | Blender |
|---|---|
| X | X |
| Y (up) | Z |
| Z | −Y |
| yaw in radians | rotation around Z |
scale [sx,sy,sz] | scale (sx,sz,sy) |
Set the root buildSize to 56–384 metres to choose the placement width. World positions are limited to X/Z within ±half that width and Y between 0 and 64. Games can move onto upper floors with unit scale; their dimensions relative to that floor stay unchanged. The Blender bridge preserves buildSize, terrain and background settings when round-tripping the world. It also imports the modular building kit supplied in sources.building; native doorway openings and stair/ramp collision are assigned by asset identity when playing. Keep the entrance clear: an entity origin with abs(x) < 3 and z > buildSize / 2 - 6 is rejected. Prop dimensions can extend beyond their origin, so also visually check walkways and doors.
Useful bridge operators
A trusted local Blender MCP can call bpy.ops.betworld.download_world(), bpy.ops.betworld.upload_prop() and bpy.ops.betworld.upload_world() after the user has installed the bridge and entered a credential. These operations run locally in Blender. They are not world scripts and must never be embedded in an upload.
Replacement game skins
The current bridge includes Upload selected skin mesh and Save skin JSON to selected stations. Skin asset upload returns a bare canonical hash without creating a scenery entity. Put the strict manifest in a Text datablock named betworld-skin.json, select matching game anchor objects and save. Existing skin definitions round-trip when downloading/uploading worlds. Download again to preview changes in a new scene. Blender previews static geometry; the browser supplies live screens, cards and game states. See the complete skin workflow and all game guides.