About
bevy_brp_extras does two things
- Configures your app for bevy remote protocol (BRP)
- Adds additional methods that can be used with BRP
Supported Bevy Versions
| bevy | bevy_brp_extras |
|---|---|
| 0.16 | 0.1..0.2 |
The bevy_brp_extras crate follows Bevy's version numbering and releases new versions for each Bevy release. The table above shows which versions of bevy_brp_extras are compatible with which versions of Bevy.
Features
Currently provides three BRP methods:
brp_extras/screenshot- Capture screenshots of the primary windowbrp_extras/shutdown- Gracefully shutdown the applicationbrp_extras/discover_format- Get correct data formats for BRP spawn/insert/mutation operations
Usage
Add to your Cargo.toml:
[]
= "0.2"
Add the plugin to your Bevy app
use *;
use BrpExtrasPlugin;
Custom Port
You can specify a custom port for the BRP server:
.add_plugins
BRP Method Details
Screenshot
- Method:
brp_extras/screenshot - Parameters:
path(string, required): File path where the screenshot should be saved
- Returns: Success status with the absolute path where the screenshot will be saved
Note: If you're not using this with bevy_brp_mcp, you'll need to tell your AI agent that this method requires a path parameter, or let it discover this by trying the method and getting an error message.
Shutdown
- Method:
brp_extras/shutdown - Parameters: None
- Returns: Success status with shutdown confirmation
Format Discovery
- Method:
brp_extras/discover_format - Parameters:
types(array of strings, required): Fully-qualified component type paths (e.g.,"bevy_transform::components::transform::Transform", not just"Transform")
- Returns: Correct JSON structure needed for BRP spawn, insert, and mutation operations
Why this exists: Bevy's built-in bevy/registry/schema method provides type schemas, but doesn't show the actual JSON format needed for BRP operations. This method bridges that gap by providing the exact data structures required.
Without bevy_extras/discover_format what happens is the coding agent will try the BRP methods such as bevy/spawn and it will have to do trial and error, parsing error messages until it finally works. And it doesn't always work. With bevy_extras/discover_format providing the type information directly, the coding agent can avoid these issues and interact with the BRP much more efficiently.
Example:
Important: Use fully-qualified type paths, not short names. Use bevy/list to find the correct paths.
Response shows:
spawn_format: How to structure data forbevy/spawnoperationsmutation_info: Available mutation paths and formats forbevy/mutate_componentoperations
Integration with bevy_brp_mcp
This crate is designed to work seamlessly with bevy_brp_mcp, which provides a Model Context Protocol (MCP) server for controlling Bevy apps. When both are used together:
- Add
BrpExtrasPluginto your Bevy app - Use
bevy_brp_mcpwith your AI coding assistant - The additional methods will be automatically discovered and made available
License
Dual-licensed under either:
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
at your option.