The Bevy ecosystem has been growing rapidly, and we're proud to bring the GameVault to Bevy developers. Today we're releasing the beta of our Bevy 0.18 plugin — a native Rust integration that lets you load .gas assets, browse the marketplace, and manage your asset library from within your Bevy application.
Custom AssetLoader for .gas Files
At the heart of the plugin is a custom AssetLoader implementation that handles .gas files natively. When Bevy's asset system encounters a .gas file, our loader deserializes it into a GasGenericNode structure, parsing the JSON manifest and extracting resource data. This integrates cleanly with Bevy's async asset pipeline, so .gas files load just like any other asset type.
Entity Spawning from GAS Assets
Once a .gas asset is loaded, the spawner system takes over. It walks the GasGenericNode tree and creates Bevy entities with the appropriate components — Mesh3d, MeshMaterial3d, Transform, sprites, audio sources. The translation from neutral .gas types to Bevy's ECS components is handled automatically, respecting Bevy 0.18's conventions like Color::srgba and the current Transform API.
In-App Marketplace Browser
Using bevy_egui, we've built an in-app browser panel that connects to the GAS marketplace API. You can search for assets, preview them, and download directly into your project's asset directory. Authentication is handled via the same API key system used by the marketplace, keeping things consistent across all our engine integrations.
What's Coming Next
The beta covers import and browsing. We're working on export support, so Bevy developers can publish assets back to the marketplace. We're also exploring hot-reloading of .gas assets during development and deeper integration with Bevy's scenes and prefab systems. If you're building with Bevy, we'd love your feedback on the plugin.