6 releases (3 breaking)
0.4.0 | Jul 18, 2024 |
---|---|
0.3.1 | Mar 18, 2024 |
0.2.0 | Mar 4, 2024 |
0.1.1 | Feb 7, 2024 |
#1012 in Game dev
240 downloads per month
20KB
311 lines
bevy_registry_export (deprecated in favor of Blenvy)
bevy_registry_export has been deprecated in favor of its successor Blenvy, part of the Blenvy project. No further development or maintenance will be done for Bevy bevy_registry_export. See #194 for background.
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).
Usage
Here's a minimal usage example:
# Cargo.toml
[dependencies]
bevy="0.14"
bevy_registry_export = "0.4"
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
Installation
Add the following to your [dependencies]
section in Cargo.toml
:
bevy_registry_export = "0.4"
Or use cargo add
:
cargo add bevy_registry_export
Setup
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();
}
Usage
- 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.
Examples
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.
Compatible Bevy versions
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.4 |
0.14 |
0.3 |
0.3 |
0.13 |
0.3 |
0.2 |
0.12 |
0.3 |
0.1 |
0.12 |
0.1 -0.2 |
branch main |
0.12 |
0.1 |
branch bevy_main |
main |
n/a |
Contributors
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 !
License
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)
Dependencies
~23–57MB
~1M SLoC