bevyengine / bevyengine/bevy

Open USD support

Open
#14,464 14 comments 64 reactions 0 assignees View on GitHub
A-Assets C-Feature D-Complex X-Needs-SME
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 16h
Merged PRs (30d)
171

Description

## What problem does this solve or what need does it fill?

Im looking at making a website for sharing assets ects.
evrything i make is in the USD format and hosting rustbased vieuwers using bevy whoud be a great solution.

Also making a scene that is shaded and modeled ects fully in houdini or maya and then just opening the scene in bevy and have evryhing just work. would be a great way to work

I also c a future where websites are just USD files and bevy is a sort of browser where you can go to a website by loading the USD scene.

## What solution would you like?

For openUSD to be supported

this whould require working the rustbindings for openUSD.
Or using a fully native implementation like [this](https://github.com/mxpv/openusd)

this is a large project but definitely worth the effort.

## What alternative(s) have you considered?

not use rust or bevy.

## Additional context

USD is not just another scene format.
once you understand it it just works. It’s much, much simpler.
And it’s very fast and memory eficient due to how instancing works ects.

## planned

- [x] stage loading
- [x] geo handeling
- [x] components/assemblies
- [x] instancing
- [x] material X
- [ ] vdb`s through axiom ?
- [ ] render delegates ? (whould be amazing if this could be implemented but verry niche as end users whould need to have licenses and the renderer)

## working in mockup
some Flattenend stages usdc

geo
transforms
instancers (non nested)

## thoughts
- some sort of compile export to discard data unnececairy for factual display/usage.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the proposed Rust bindings for OpenUSD and the linked native implementation, then compare them with the listed mockup capabilities: stage loading, geometry, transforms, instancing, and materials. Define the supported USD scope and validation criteria before implementation; the issue does not name files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
computer-graphics, game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.