Asset management crate. Designed with the following goals in mind:
- Asynchronous & Parallel using Rayon
- Allow different sources
Register a dynamically deserializable format for given asset data type.
Note that provided asset data type must also be registered using
Register specific asset data types that can be deserialized with dynamic formats. This is very useful for all assets that have any format types explicitly implemented. Registered assets are used during loading of nested assets to determine format type which will be used to deserialize that asset.
Helper type for loading assets
An asset storage, storing the actual assets and allocating handles to them.
A simple cache for asset handles of type
A handle to an asset. This is usually what the
user deals with, the actual asset (
This bundle activates hot reload for the
An ECS resource which allows to configure hot reloading.
System for updating
The asset loader, holding the sources and a reference to the
Helper structure for loading prefabs.
System that load
A default implementation for an asset processing system
which converts data to assets and maintains the asset storage
A progress tracker which is passed to the
Format for loading from Ron files. Mostly useful for prefabs. This type cannot be used for tagged deserialization. It is meant to be used at top-level loading, manually specified to the loader.
An implementation of
Represents a user created thread-pool.
A weak handle, which is useful if you don't directly need the asset like in caches. This way, the asset can still get dropped (if you want that).
Completion status, returned by
Returned by processor systems, describes the loading state of the asset.
One of the three core traits of this crate.
A format, providing a conversion from bytes to asset data, which is then
in turn accepted by
A trait for all asset types that have their format types.
Use this as a bound for asset data types when used inside boxed format types intended for deserialization.
Trait for loading a prefabs data for a single entity
Defines a way to process asset's data into the asset. This allows
A trait for asset sources, which provides methods for loading bytes.