This Bevy plugin includes generic asset loaders for common file formats.
Supported formats:
| format | feature | example |
| :-- | :-- | :-- |
| json | json | json.rs |
| ron | ron | ron.rs |
| toml | toml | toml.rs |
| yaml | yaml | yaml.rs |
Enable the feature(s) for the format(s) that you want to use.
Define the types that you would like to load from files and derive serde::Deserialize and bevy::reflect::TypeUuid for them. The latter requires a unique uuid as an attribute:
```rust
struct Level { positions: Vec<[f32;3]>, } ```
With your types ready, you can add asset plugins for each type. Every plugin gets the asset type as a generic parameter. You also need to configure custom file endings for each type: ```rust use bevycommonassets::json::JsonAssetPlugin; use bevycommonassets::ron::RonAssetPlugin; use bevycommonassets::toml::TomlAssetPlugin; use bevycommonassets::yaml::YamlAssetPlugin;
fn main() {
App::new()
.addplugins(DefaultPlugins)
.addplugin(JsonAssetPlugin::
See the examples for working Bevy apps using the different formats.
The main branch is compatible with the latest Bevy release.
Compatibility of bevy_common_assets versions:
| bevy_common_assets | bevy |
| :-- | :-- |
| 0.1 | 0.7 |
| main | 0.7 |
If you only need to load ron files, bevy_asset_ron offers the same functionality as bevy_common_assets.
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.