Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Dexterous Developer
An experimental hot reload system for the bevy game engine. Inspired by DGriffin91's Ridiculous bevy hot reloading - adding the ability to re-load arbitrary systems, and the ability to transform resource/component structures over time.
Fuller documentation is available at: https://lee-orr.github.io/dexterous_developer/
Features
- Define the reloadable areas of your game explicitly - which can include systems, components and resources (w/ some limitations)
- Reset resources to a default or pre-determined value upon reload
- serialize/deserialize your reloadable resources & components, allowing you to evolve their schemas so long as they are compatible with the de-serializer (using rmp_serde)
- mark entities to get removed on hot reload
- run systems after hot-reload
- create functions to set-up & tear down upon either entering/exiting a state or on hot reload
- only includes any hot reload capacity in your build when you explicitly enable it - such as by using the CLI launcher
Known issues
- Won't work on mobile or WASM, and only tested on Windows
- events and states still need to be pre-defined
Installation
Grab the CLI by running: cargo install dexterous_developer_cli.
You'll be able to run the dexterous verion of your code by running dexterous_developer_cli in your terminal.
In your Cargo.toml add the following:
[]
= "lib_THE_NAME_OF_YOUR_GAME"
= "src/lib.rs"
= ["rlib", "dylib"]
[]
= "0.11"
= "0.0.6"
= "1" # If you want the serialization capacities
If your game is not a library yet, move all your main logic to lib.rs rather than main.rs. Then, in your main.rs - call the bevy_main function:
and in your lib.rs, your main function should become:
If you have a plugin where you want to add reloadable elements, add the following in the file defining the plugin: