bevyengine / bevyengine/bevy

Missing shader asset should fail instead of keep retrying

Open
#20,871 2 comments 0 reactions 0 assignees View on GitHub
A-Assets A-Rendering C-Bug D-Modest S-Ready-For-Implementation
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 22h
Merged PRs (30d)
161

Description

When compiling a pipeline, bevy currently doesn't know if the shader is missing because it's not yet loaded or because it failed to load because it's simply missing. In the case where the shader is completely missing bevy should log an error and stop retrying to compile the pipeline. Also, if you queue an item with an invalid pipeline bevy should let you know that it won't render the item you queued. Essentially we need to differentiate between a pipeline that is in the process of loading and one that is invalid and will never complete. Users should be able to detect this state and simply stop queueing on an invalid pipeline. For bevy's own phases if a pipeline is invalid and keeps getting queued we should log an error because that's simply invalid state and we should be loud about it.

I believe this will require asset server changes to be able to differentiate between missing assets and assets that are loading.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.