bevyengine/bevy · error · ReaderNotSeekableError
The `Reader` returned by the current `AssetReader` does not
Error message
The `Reader` returned by the current `AssetReader` does not support `AsyncSeek` behavior.
What it means
ReaderNotSeekableError: Reader::seekable() was called on a reader implementation that does not support AsyncSeek (e.g. streamed HTTP readers or other forward-only sources). Seeking backwards/forwards is unavailable, so consumers requiring random access cannot use this reader.
Source
Thrown at crates/bevy_asset/src/io/mod.rs:156
/// &mut fallback_reader
/// }
/// };
/// reader.seek(SeekFrom::Start(10)).await.unwrap();
/// # };
/// ```
fn seekable(&mut self) -> Result<&mut dyn SeekableReader, ReaderNotSeekableError>;
}
/// A [`Reader`] that also has [`AsyncSeek`] functionality.
/// See [`Reader::seekable`] for details.
pub trait SeekableReader: Reader + AsyncSeek {}
impl<T: Reader + AsyncSeek> SeekableReader for T {}
/// Error returned by [`Reader::seekable`] when the reader implementation does not support [`AsyncSeek`] behavior.
#[derive(Error, Debug, Copy, Clone)]
#[error(
"The `Reader` returned by the current `AssetReader` does not support `AsyncSeek` behavior."
)]
pub struct ReaderNotSeekableError;
impl Reader for Box<dyn Reader + '_> {
fn read_to_end<'a>(
&'a mut self,
buf: &'a mut Vec<u8>,
) -> StackFuture<'a, std::io::Result<usize>, STACK_FUTURE_SIZE> {
(**self).read_to_end(buf)
}
fn seekable(&mut self) -> Result<&mut dyn SeekableReader, ReaderNotSeekableError> {
(**self).seekable()
}
}
/// A future that returns a value or an [`AssetReaderError`]
pub trait AssetReaderFuture:View on GitHub (pinned to 396ca72708)
Solutions
- Buffer the whole reader first and seek over the in-memory bytes
- Choose an AssetReader backend that supports seeking (file/memory sources)
- Handle the error and fall back to sequential reads when seeking is unavailable
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at crates/bevy_asset/src/io/mod.rs:156 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/e06ccdb699ac81af.
Report an issue: GitHub.