Merge pull request #3 from jf908/jf908-pr-review

Add release notes and ureq feature docs
This commit is contained in:
Pete Hayman 2025-07-13 13:35:40 +10:00 committed by GitHub
commit eed9948383
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 28 additions and 0 deletions

View File

@ -12,6 +12,15 @@ use std::path::{Path, PathBuf};
///
/// Any asset path that begins with `http` (when the `http` feature is enabled) or `https` (when the
/// `https` feature is enabled) will be loaded from the web via `fetch`(wasm) or `ureq`(native).
///
/// By default, `ureq`'s HTTP compression is disabled. To enable gzip and brotli decompression, add
/// the following dependency and features to your Cargo.toml. This will improve bandwidth
/// utilization when its supported by the server.
///
/// ```toml
/// [target.'cfg(not(target_family = "wasm"))'.dev-dependencies]
/// ureq = { version = "3", default-features = false, features = ["gzip", "brotli"] }
/// ```
pub struct HttpSourcePlugin;
impl Plugin for HttpSourcePlugin {

View File

@ -0,0 +1,19 @@
---
title: HTTP Assets
authors: ["@johanhelsing", "@mrchantey", "@jf908"]
pull_requests: [17889]
---
Bevy now supports downloading assets over http and https.
Use the new `http` and `https` features to enable `http://` and `https://` URLs as asset paths.
This functionality is powered by the [`ureq`](https://github.com/algesten/ureq) crate on native platforms and the fetch API on wasm.
```rust
let image = asset_server.load("https://example.com/image.png");
commands.spawn(Sprite::from_image(image));
```
By default these assets arent saved anywhere but you can enable the `http_source` feature to cache assets on your file system.
The implementation has changed quite a bit but this feature originally started out as an upstreaming of the [`bevy_web_asset`](https://github.com/johanhelsing/bevy_web_asset) crate.
Special thanks to @johanhelsing and bevy_web_asset's contributors!