bevy_dev_tools/
lib.rs

1#![cfg_attr(docsrs, feature(doc_auto_cfg))]
2#![forbid(unsafe_code)]
3#![doc(
4    html_logo_url = "https://bevyengine.org/assets/icon.png",
5    html_favicon_url = "https://bevyengine.org/assets/icon.png"
6)]
7
8//! This crate provides additional utilities for the [Bevy game engine](https://bevyengine.org),
9//! focused on improving developer experience.
10
11use bevy_app::prelude::*;
12
13#[cfg(feature = "bevy_ci_testing")]
14pub mod ci_testing;
15
16pub mod fps_overlay;
17
18pub mod picking_debug;
19
20pub mod states;
21
22/// Enables developer tools in an [`App`]. This plugin is added automatically with `bevy_dev_tools`
23/// feature.
24///
25/// Warning: It is not recommended to enable this in final shipped games or applications.
26/// Dev tools provide a high level of access to the internals of your application,
27/// and may interfere with ordinary use and gameplay.
28///
29/// To enable developer tools, you can either:
30///
31/// - Create a custom crate feature (e.g "`dev_mode`"), which enables the `bevy_dev_tools` feature
32///   along with any other development tools you might be using:
33///
34/// ```toml
35/// [feature]
36/// dev_mode = ["bevy/bevy_dev_tools", "other_dev_tools"]
37/// ```
38///
39/// - Use `--feature bevy/bevy_dev_tools` flag when using the `cargo run` command:
40///
41/// `cargo run --features bevy/bevy_dev_tools`
42///
43/// - Add the `bevy_dev_tools` feature to the bevy dependency in your `Cargo.toml` file:
44///
45/// `features = ["bevy_dev_tools"]`
46///
47///  Note: The third method is not recommended, as it requires you to remove the feature before
48///  creating a build for release to the public.
49#[derive(Default)]
50pub struct DevToolsPlugin;
51
52impl Plugin for DevToolsPlugin {
53    fn build(&self, _app: &mut App) {}
54}