Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bevyengine
GitHub Repository: bevyengine/bevy
Path: blob/main/release-content/release-notes/observer_run_conditions.md
9328 views
---
title: Observer Run Conditions authors: ["@jonas-meyer"] pull_requests: [22602]
---

Observers can now use run conditions with .run_if(), the same pattern systems use for conditional execution.

#[derive(Resource)] struct GamePaused(bool); // Observer only runs when game is not paused app.add_observer( on_damage.run_if(|paused: Res<GamePaused>| !paused.0) ); // Multiple conditions can be chained (AND semantics) app.add_observer( on_damage .run_if(|paused: Res<GamePaused>| !paused.0) .run_if(resource_exists::<Player>) );

This works with add_observer, entity .observe(), and the Observer builder pattern.