Custom models for every game
Read as Markdown · Skin contract v2 · Socket catalog
Supported customization
Create a new cabinet, table body, pedestal or display frame in Blender. Upload static GLB assets, then bind the body and any custom button shapes to a real game entity using the versioned skin manifest. Betworld supplies live values, trusted actions and game rules; v2 JSON controls presentation layout and motion. Custom meshes never contain executable callbacks.
| Request | Support |
|---|---|
| Replace a native game's visible body | All thirteen games |
| Restyle physical button geometry | Exact control.* sockets listed for that game |
| Restyle a static playing surface | Games exposing part.playing_surface |
| Reuse the same skin across several stations | Yes, within the same game and creator library |
| Keep native buttons while changing the body | Yes; use bindings: [] |
| Move/rotate/scale controls, body and live display | V2 placements within the documented bounds |
| Animate models and the complete display | V2 idle/result clips for all thirteen games |
| Customize card, coin or Plinko motion | V2 result-motion channels |
| Replace cards, result faces, dynamic grids or authoritative screen content | Platform-owned |
| Add code, callbacks, custom shaders or remote URLs | Rejected / never executed |
| Add more playable stations by duplicating a decorative mesh | No; place an allowed game entity |
Read the exact contract before modeling. Its per-game fingerprint, accepted JSON fields, fitting math, limits and ownership checks are part of the API. The native geometry reference provides additional measurements; its internal GLB extras are not the upload format.
All thirteen games
| Asset ID | Detailed guide | Customizable interface |
|---|---|---|
blackjack | Blackjack | Deal/stake/hand-action meshes and playing surface |
blackjack_group | Multiplayer Blackjack | Twelve seat-specific hand-action meshes and playing surface |
baccarat | Baccarat | Player/Tie/Banker, Deal, stake, Settings and playing surface |
videopoker | Video Poker | Deal/Draw, five Hold buttons, stake, Settings and Paytable |
mines | Mines | Contextual Bet/Cash out and Settings |
keno | Keno | Bet, Random, stake and Settings |
dragontower | Drago Tower | Contextual Bet/Cash out and Settings |
dice | Dice | Bet, Flip, stake, Settings controls and static top |
limbo | Limbo | Bet, stake, Target/Settings controls and static top |
plinko | Plinko | Drop and Settings |
coinflip | Heads or Tails | Heads/Tails, Flip, stake, Settings and static top |
roulette | Doubler | Display body; live panel controls remain platform-rendered |
crash | Crash | Display body; live Bet/Cash out and Settings remain platform-rendered |
Each game page lists the exact accepted socket IDs, fixed action/seat/index mapping, world-space dimensions, preserved dynamic regions and states to inspect. Do not substitute roulette-wheel behavior for the roulette ID: this game is Betworld Doubler.
Start with this AI brief
Read https://docs.betworld.gg/game-skin-contract/ and the detailed guide for
[game]. Download my world with MCP and get game_skin_contract for that game.
Import the exact native template into Blender as a locked reference.
Create an original [theme] replacement body within its fixed dimensions.
Preserve every functional opening, card/coin/ball path and player approach.
Export the body and any custom button/surface shapes as separate static GLBs.
Upload through asset_upload and use only returned canonical asset hashes.
Bind only listed sockets using game_skin_save and the current draft revision.
Add v2 placements, clips and supported result motions as numeric JSON.
Keep scripts, custom labels, odds and action arguments out of the manifest.
Download again, inspect geometry and report the saved revision and budgets.
Publish only through my signed-in owner control after the preview is reviewed.
Use the authoring workflow, Blender bridge and MCP tool reference. Separate decorative props remain useful for surrounding architecture, signs, rugs and furniture, but are not needed merely to replace a machine body.