# Troubleshooting ## Credential invalid, revoked or replaced New credentials do not expire automatically. Credentials that were still valid when the no-expiry policy was introduced were upgraded; already-expired credentials were not reactivated. If a credential was revoked, replaced or expired under the previous policy, create a new credential for the same world and replace it in both your AI client and Blender sidebar. Generating a credential revokes its predecessor. Do not retry an old token indefinitely or paste tokens into public support messages. ## MCP connects but no tools appear Confirm the URL ends in `/api/worlds/ai/mcp`, the client supports Streamable HTTP with custom Bearer headers, and it completed initialization. GET 405 is expected for the unused persistent stream. Clients that insist on OAuth discovery need a compatible client or bridge instead. The docs hostname is not the MCP endpoint. Reading docs does not authenticate a client to your world. ## Draft changed in another editor Another save incremented the revision. Download the current draft and merge the intended changes, then submit its revision. The in-game builder, another browser, an AI session and the Blender bridge share the same draft revision. In the builder, download your unsaved changes before choosing Reload latest. ## Missing prop or unknown asset Use a built-in asset from the returned catalog or an uploaded hash owned by your account. An asset uploaded by another creator cannot simply be referenced by copying its hash. Upload a legitimate copy to your own library if you have permission to use it. ## GLB rejected Check that it is a static GLB with embedded buffers and images. Remove rigs, animations, morph targets, unsupported extensions, external resources, extras, cameras and lights. Use PNG/JPEG/WebP textures no larger than 2048 pixels per side, and keep the converted output below 4 MB. Export a small test prop first. ## Memory, download or geometry budget exceeded Read the exact error. Each limit is independent. Reuse assets, reduce texture resolution and mesh parts, reduce placed copies, or combine fine static detail. The 100 MB download limit counts the manifest and standard assets as well as uploaded GLBs. A small compressed file can still exceed the decoded memory budget. ## Game scale or station error Keep game Y at zero, scale at `[1,1,1]`, and use an available `:` ID. Multiplayer Blackjack seats belong to their parent `blackjack_group` table. Unknown game names and duplicate station IDs are rejected. ## An update is waiting for games to finish New wagers are paused while accepted bets settle. Finish your hand, draw or cash out where the game allows it. Creators of waiting PvP coinflips can cancel them to return their stake; unmatched flips also expire under the ten-minute rule. The update applies automatically after settlement. To keep the current layout, open the builder’s World tab and choose Cancel pending update. ## Published changes are missing Confirm the published revision matches the intended draft revision, then leave and rejoin. Saving through MCP changes the draft only. Cached immutable model URLs remain valid because changed model contents receive different hashes. ## Paths are blocked or performance is poor Props use box-shaped collision; concave shapes can block their empty center. Split doorframes and arches into separate solid pieces. Reduce dense overlapping objects and high-poly copies. Inspect the world on a modest device as well as a desktop GPU. ## Server busy 503 with `Retry-After` means bounded admission rejected concurrent heavy work. Retry with backoff and jitter, one draft revision at a time. 429 means rate limiting. A 413 response means the request body exceeded its transport limit. These errors should not be solved by retrying many requests in parallel.