#bevy #bevy-plugin #config #gamedev #assets #load-file

bevy_easy_config

A Bevy plugin that allows you to easily define and instantiate config files

2 unstable releases

0.2.0 Sep 3, 2024
0.1.0 Aug 6, 2024

#1198 in Game dev

MIT/Apache

35KB
146 lines

crates.io license

Bevy Easy Config

Bevy Easy Config is a plugin that allows you to load config files easily and instantiate them as a resource.

Usage

First define the struct that you would like to load, and derive the relevant traits:

// Define the struct to load
#[derive(Deserialize, Asset, Resource, Clone, TypePath)]
struct Settings {
    some_keybind: KeyCode
}

The add it to your app:

use bevy_easy_config::EasyConfigPlugin;

fn main() {
    App::new()
        .add_plugins((
            DefaultPlugins,
            EasyConfigPlugin::<Settings>::new("settings.ron"),
        ))
        .add_systems(Update, some_random_function)
        .run();
}

This will load the file located at assets/settings.ron, into the Settings struct and insert Settings as a resource.

fn some_random_function(
    settings: Res<Settings>
) {
    // ... Your awesome code here
}

Compatible Bevy versions

bevy_easy_config bevy
0.1.0, 0.2.0 0.14
unsupported < 0.14

License

Dual-licensed under either:

at your option.

Your contributions

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.

Dependencies

~41–79MB
~1.5M SLoC