Cargo Features

[dependencies]
nightshade = { version = "0.8.2", default-features = false, features = ["full", "core", "assets", "file_watcher", "text", "scene_graph", "terrain", "file_dialog", "async_runtime", "runtime", "engine", "tui", "terminal", "egui", "shell", "audio", "fft", "physics", "picking", "behaviors", "lattice", "sdf_sculpt", "mosaic", "syntax_highlighting", "editor", "screenshot", "navmesh", "gamepad", "fbx", "wgpu", "openxr", "steam", "tracing", "tracy", "chrome", "plugins", "plugin_runtime", "scripting", "claude", "mcp", "windows-app-icon", "webview"] }
default = engine, wgpu

These default features are set whenever nightshade is added without default-features = false somewhere in the dependency tree.

full = audio, claude, editor, egui, engine, fbx, gamepad, lattice, mcp, mosaic, navmesh, physics, plugins, scripting, sdf_sculpt, shell, syntax_highlighting, wgpu
core assets? async_runtime? file_dialog? runtime? terrain? text?

Enables bitflags, bytemuck, console_error_panic_hook, freecs, getrandom ^0.3, mint, nalgebra, nalgebra-glm, petgraph, pollster, raw-window-handle, serde_json, strum ^0.27, thiserror, tracing, tracing-subscriber, tracing-web, uuid, web-time, and winit

assets engine fbx? plugin_runtime? scene_graph? = core

Enables bincode ^1.3, gltf, half, image, lz4_flex ^0.11, and serde_json

Affects async_loader::LoadedAsset, spawn::spawn_prefab_with_source, spawn::spawn_prefab_with_skins, resources::PrefabCache.prefabs, resources::CachedPrefab, resources::prefab_cache_insert, resources::prefab_cache_get, resources::prefab_cache_names, shapes::spawn_sprite_from_image_bytes, ecs::texture_loader, sprite_shapes::load_image_rgba, wgpu::envmap_filter, wgpu::hdr, ecs::asset_watcher

file_watcher

Enables notify ^7

Affects ecs::file_watcher, ecs::asset_watcher

text runtime? tui? = core

Enables swash and ttf-parser

scene_graph engine = assets

Affects ecs::scene

terrain engine = core

Enables noise and rand ^0.9

Affects commands::set_grass_terrain, components::GrassRegion.terrain_config, ecs::terrain

file_dialog engine = core

Enables dirs and rfd

Affects filesystem::pick_file, filesystem::pick_folder, filesystem::save_file_dialog, filesystem::read_file, filesystem::write_file, filesystem::save_file, filesystem::request_file_load

async_runtime engine mcp? = core

Enables tokio

runtime engine tui? = behaviors, core, text

Affects nightshade::ecs, nightshade::multi_window, nightshade::render, nightshade::run, nightshade::schedule, nightshade::prelude

engine default full? = assets, async_runtime, file_dialog, picking, runtime, scene_graph, screenshot, terrain

Enables ehttp, futures, js-sys >=0.3, <0.3.86, rand ^0.9, rayon, wasm-bindgen >=0.2, <0.2.109, wasm-bindgen-futures >=0.4, <0.4.59, and web-sys >=0.3, <0.3.86

Affects ecs::async_loader

tui = runtime, text

Enables rand ^0.9

Affects run::launch, tui::backend, nightshade::tui

terminal

Enables crossterm, freecs, and rand ^0.9

Affects tui::terminal, nightshade::tui

egui full? mosaic? shell?

Enables egui, egui-wgpu, egui-winit, egui_extras, and egui_tiles

Affects user_interface::UserInterface.state, user_interface::UserInterface.frame_output, user_interface::UserInterface.viewport_textures, render_trait::UiOutput, render_trait::UiPrimitives, render_trait::Render.register_secondary_egui_texture, render_trait::Render.register_camera_viewports_for_secondary, render_trait::Render.register_egui_texture, multi_window::SecondaryWindowInfo.egui_state, wgpu::CameraViewport, wgpu::SecondarySurface.egui_renderer, wgpu::SecondarySurface.egui_depth_texture, wgpu::SecondarySurface.egui_depth_view, wgpu::SecondarySurface.egui_depth_size, run::State.ui, run::State.secondary_ui, shell::shell_ui

shell full? = egui

Affects nightshade::shell

audio full?

Enables kira ^0.11.0

Affects audio::resources, audio::systems

fft

Enables rustfft

Affects audio::analyzer

physics full?

Enables rapier3d ^0.30

Affects physics::character_controller, physics::commands, physics::debug, physics::events, physics::joints, physics::resources, physics::systems, queries::pick_entities_trimesh, queries::pick_closest_entity_trimesh, picking::commands, picking::resources, inspector::character_controller, inspector::physics

picking editor? engine

Affects ecs::picking

behaviors mcp? runtime?
lattice full?

Affects lattice::debug, lattice::systems

sdf_sculpt full?

Affects ecs::sdf, geometry::sdf_compute

mosaic editor? full? = egui

Enables bincode ^1.3, indexmap, and serde_json

Affects nightshade::mosaic

syntax_highlighting full?

Enables syntect

Affects resources::RetainedUiState.syntax_highlighter, ui::syntax

editor full? = mosaic, picking

Enables arboard and syntect

Affects nightshade::editor

screenshot engine

Enables image

Affects render_trait::Render.save_texture_to_file

navmesh full?

Enables glam ^0.30 and rerecast ^0.2

Affects navmesh::generation, inspector::navmesh

gamepad full?

Enables gilrs

Affects queries::query_active_gamepad, gamepad::Gamepad, systems::gamepad_input_system, run::State.on_gamepad_event

fbx full? = assets

Enables ufbx

Affects asset_loading::import_fbx, asset_loading::load_fbx, asset_loading::import_animation

wgpu default full? openxr?

Enables dx12, metal, vulkan, webgpu and wgsl of wgpu ^27.0.1

Affects render::wgpu

openxr

Enables wgpu-hal ^27.0.0, ash, gpu-allocator, and openxr and vulkan of wgpu ^27.0.1

wgpu:

Enables the Vulkan backend on Windows, Linux, and Android.

Affects nightshade::xr

steam

Enables steamworks and steamworks-sys

Affects nightshade::steam

tracing chrome? tracy?

Enables chrono and tracing-appender

Affects run::log_file_name

tracy = tracing

Enables tracing-tracy

chrome = tracing

Enables tracing-chrome

plugins full?
plugin_runtime = assets

Enables anyhow, wasmtime ^40.0, and wasmtime-wasi ^40.0

Affects nightshade::plugin_runtime

scripting full?

Enables rhai

Affects script::api, script::resources, script::systems, inspector::script

claude full?

Enables serde_json

Affects nightshade::claude

mcp full? = async_runtime, behaviors

Enables axum, rmcp ^0.2, and schemars ^0.8

Affects nightshade::mcp, run::State.handle_mcp_command, run::State.after_mcp_command

windows-app-icon

Enables ico, image, and winresource

Affects nightshade::build

webview

Enables include_dir, js-sys >=0.3, <0.3.86, tiny_http, wasm-bindgen >=0.2, <0.2.109, wasm-bindgen-futures >=0.4, <0.4.59, web-sys >=0.3, <0.3.86, and wry

Affects nightshade::webview