This plugin allows you to create a Json export of all your components/ registered types.
Its main use case is as a backbone for the bevy_components
Blender add-on, that allows you to add & edit components directly in Blender, using the actual type definitions from Bevy
(and any of your custom types & components that you register in Bevy).
Here's a minimal usage example:
# Cargo.toml
[dependencies]
bevy="0.12"
bevy_registry_export = "0.1"
use bevy::prelude::*;
use bevy_registry_export::*;
fn main() {
App::new()
.add_plugins((
DefaultPlugins,
ExportRegistryPlugin::default() // will save your registry schema json file to assets/registry.json
))
.run();
}
take a look at the example for more clarity
Add the following to your [dependencies]
section in Cargo.toml
:
bevy_registry_export = "0.1"
Or use cargo add
:
cargo add bevy_registry_export
use bevy::prelude::*;
use bevy_registry_export::*;
fn main() {
App::new()
.add_plugins((
DefaultPlugins
ExportRegistryPlugin::default()
))
.run();
}
you can also configure the output path
use bevy::prelude::*;
use bevy_registry_export::*;
fn main() {
App::new()
.add_plugins((
DefaultPlugins
ExportRegistryPlugin {
save_path: "assets/registry.json".into(),
..Default::default()
},
))
.run();
}
- The output file will be generated in the
Startup
schedule whenever you run your app. - Every time you compile & run your app, the output json file will be updated.
All examples are here:
the examples use
bevy_gltf_blueprints
with the legacy_mode set to FALSE as the new custom properties generated by the Blender add-on require newer/ non legacy logic.
The main branch is compatible with the latest Bevy release, while the branch bevy_main
tries to track the main
branch of Bevy (PRs updating the tracked commit are welcome).
Compatibility of bevy_registry_export
versions:
bevy_registry_export |
bevy |
bevy_components (Blender add-on) |
---|---|---|
0.1 |
0.12 |
0.1.0 |
branch main |
0.12 |
0.1.0 |
branch bevy_main |
main |
n/a |
Thanks to all the contributors helping out with this project ! Big kudos to you, contributions are always appreciated ! :) A big shout out to killercup, that did the bulk of the Bevy side code !
This crate, all its code, contents & assets is Dual-licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)