bevyengine / bevyengine/bevy

Respond to asset changes using observers.

Open
#16,041 4 comments 11 reactions 0 assignees View on GitHub
A-Assets C-Feature C-Usability D-Modest S-Ready-For-Implementation
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?

It would be quite ergonomic to be able to respond to when assets get loaded, changed, etc, using observers. We currently have `AssetEvent`, but the way currently things stand in Bevy, old-style events (using `EventReader`/`EventWriter`) and observer triggers are actually different workflows that are incompatible with one another, even though they both (confusingly) use the same trait (`Event`).

## What solution would you like?

Bevy to "trigger" observer-style events when assets get loaded/changed/etc.

## What alternative(s) have you considered?

Just using `EventReader`

## Additional context

If Bevy ever moves to "Assets as Entities" (as was attempted during the AssetsV2 rework, but ultimately dropped in favor of using `Assets` resources as before), this would become even more ergonomic, as the observer trigger could "target" the entity that represents the affected asset.

Contributor guide

Open the contributing guide

Research direction

Start by reading the existing AssetEvent workflow alongside EventReader/EventWriter and observer triggers. The issue names no files or tests, so first identify the relevant asset and observer entry points, then clarify the event semantics and validation needed before implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.