#bevy-plugin #blob #assets #url #loading #javascript #web

bevy_blob_loader

Bevy plugin for loading assets from JavaScript blob URLs

4 releases

0.0.4 Mar 6, 2024
0.0.3 Jan 3, 2024
0.0.2 Jan 3, 2024
0.0.1 Jan 2, 2024

#1487 in Game dev

Download history 2/week @ 2024-01-05 10/week @ 2024-02-16 12/week @ 2024-02-23 138/week @ 2024-03-01 32/week @ 2024-03-08 13/week @ 2024-03-15 4/week @ 2024-03-22 41/week @ 2024-03-29 47/week @ 2024-04-05 4/week @ 2024-04-12

92 downloads per month
Used in bevy_web_file_drop

MIT/Apache

10KB
139 lines

bevy_blob_loader

Bevy plugin for loading assets from JavaScript blob URLs. Should only be added when targeting the web, otherwise wasm-bindgen will panic.


lib.rs:

This crate provides a Bevy plugin for loading assets from JavaScript blob URLs. This is useful for taking input from the user within a browser, such as a file upload or drag-and-drop.

Usage

After adding [BlobLoaderPlugin] to your Bevy app, you can load assets from blob URLs like so:

use bevy::prelude::*;
use bevy_blob_loader::path::serialize_url;
fn my_system(asset_server: Res<AssetServer>) {
  let blob_url = "blob:http://example.com/1234-5678-9012-3456";

  // Note, we have to serialize the URL into a special format for Bevy to recognize it.
  // This takes in the file extension of the asset, which Bevy uses to determine how to
  // process the fetched asset.
  let serialized = serialize_url(&blob_url, "png");

  let handle: Handle<Image> = asset_server.load(serialized);
}

Dependencies

~24–53MB
~867K SLoC