bevyengine/bevy · error · MissingAssetSourceError
Asset Source '{0}' does not exist
Error message
Asset Source '{0}' does not exist What it means
MissingAssetSourceError: an operation referenced an asset source by id (e.g. 'my_source' via my_source://... paths) that was never registered with the AssetSourceBuilders / AssetSources collection. The lookup by AssetSourceId found no matching source.
Source
Thrown at crates/bevy_asset/src/io/source.rs:652
pub fn ids(&self) -> impl Iterator<Item = AssetSourceId<'static>> + '_ {
self.sources
.keys()
.map(|k| AssetSourceId::Name(k.clone_owned()))
.chain(Some(AssetSourceId::Default))
}
/// This will cause processed [`AssetReader`](crate::io::AssetReader) futures (such as [`AssetReader::read`](crate::io::AssetReader::read)) to wait until
/// the [`AssetProcessor`](crate::AssetProcessor) has finished processing the requested asset.
pub(crate) fn gate_on_processor(&mut self, processing_state: Arc<ProcessingState>) {
for source in self.iter_processed_mut() {
source.gate_on_processor(processing_state.clone());
}
}
}
/// An error returned when an [`AssetSource`] does not exist for a given id.
#[derive(Error, Debug, Clone, PartialEq, Eq)]
#[error("Asset Source '{0}' does not exist")]
pub struct MissingAssetSourceError(AssetSourceId<'static>);
/// An error returned when an [`AssetWriter`](crate::io::AssetWriter) does not exist for a given id.
#[derive(Error, Debug, Clone)]
#[error("Asset Source '{0}' does not have an AssetWriter.")]
pub struct MissingAssetWriterError(AssetSourceId<'static>);
/// An error returned when a processed [`AssetReader`](crate::io::AssetReader) does not exist for a given id.
#[derive(Error, Debug, Clone, PartialEq, Eq)]
#[error("Asset Source '{0}' does not have a processed AssetReader.")]
pub struct MissingProcessedAssetReaderError(AssetSourceId<'static>);
/// An error returned when a processed [`AssetWriter`](crate::io::AssetWriter) does not exist for a given id.
#[derive(Error, Debug, Clone)]
#[error("Asset Source '{0}' does not have a processed AssetWriter.")]
pub struct MissingProcessedAssetWriterError(AssetSourceId<'static>);
const MISSING_DEFAULT_SOURCE: &str =View on GitHub (pinned to 396ca72708)
Solutions
- Register the asset source with AssetPlugin::file_sources / source builders before using its id in paths
- Check the source name in the asset path for typos (the part before ://)
- Ensure the source is added on the same side (unprocessed/processed) the code is using
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/bevy_asset/src/io/source.rs:652 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of bevyengine/bevy@396ca72708 (2026-08-20).
Data as JSON: /api/errors/79a4fad4ab630042.
Report an issue: GitHub.