<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/bevy-0-10-zpyhvqymj" -->

---
title: Bevy 0.10 | daily.dev
description: Bevy 0.10, a Rust game engine, ships a major rewrite of its ECS scheduling system (Schedule v3) with a unified schedule, system sets, run conditions, and...
canonical: https://daily.dev/posts/bevy-0-10-zpyhvqymj
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Bevy 0.10 | daily.dev
og:description: Bevy 0.10, a Rust game engine, ships a major rewrite of its ECS scheduling system (Schedule v3) with a unified schedule, system sets, run conditions, and...
og:url: https://daily.dev/posts/bevy-0-10-zpyhvqymj
og:image: https://api.daily.dev/og/posts/ZPyHvqymJ.png
og:image:alt: Bevy 0.10
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Bevy 0.10

**[Bevy Engine](https://daily.dev/sources/bevy)** · 85 min read · 0 upvotes · 0 comments

## Summary

Bevy 0.10, a Rust game engine, ships a major rewrite of its ECS scheduling system (Schedule v3) with a unified schedule, system sets, run conditions, and simplified states, replacing the old stage-based model. Rendering gets cascaded shadow maps, environment map lighting, depth/normal prepass support, revamped bloom, new tonemapping options, distance/atmospheric fog, and additional StandardMaterial blend modes. Parallel pipelined rendering now runs simulation and rendering concurrently for 10-30% performance gains, windows are represented as ECS entities instead of a resource, and renderer optimizations make the render stage 2-3x faster than 0.9. Android support is improved via lifecycle event handling. A migration guide is provided for existing 0.9 apps.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://bevy.org/news/bevy-0-10>

## Questions this post answers

### What changed in Bevy 0.10's ECS scheduling system compared to earlier versions?

Bevy 0.10 replaces the old stage-based scheduling with Schedule v3, storing all systems in a single unified schedule instead of separate stages. This removes hard barriers between stages, adds add_systems for adding multiple systems at once, chain() for ordering, configurable SystemSets, run conditions replacing run criteria, and a simplified stackless state system. A migration guide covers moving existing 0.9 apps to the new model.

_Track breaking scheduling changes like this before upgrading a Bevy project on daily.dev._

### How much faster is Bevy 0.10's renderer compared to Bevy 0.9?

The final render stage is roughly 2-3 times faster in Bevy 0.10 than in 0.9, achieved through a series of targeted optimizations: disabling hot-loop logging overhead (20-50% gain), shrinking core data structures (9% gain), restructuring PhaseItem and RenderCommand handling (7% gain), and reducing allocation and atomic usage in TrackedRenderPass and resource fetching (6% and 2% gains respectively).

_Compare engine performance gains like these before deciding on a rendering stack on daily.dev._

### How do I schedule an exclusive system relative to other systems in Bevy 0.10?

Exclusive systems, which have mutable access to the entire ECS World, can now be added and ordered just like normal systems using methods such as .after() and .before(), for example app.add_system(exclusive_system.after(ordinary_system)). Command flushes are handled by the apply_system_buffers exclusive system, which can be chained explicitly with other systems using .chain() to control when queued commands are applied.

_Look up concrete scheduling patterns like this while building with Bevy's ECS on daily.dev._

## Similar posts on daily.dev

- [Bevy 0.19](https://daily.dev/posts/bevy-0-19-sk3tvicux) · Lobsters · 19 upvotes · 2 comments
- [Bevy 0.20](https://daily.dev/posts/bevy-0-20-ty9mk0gqd) · Bevy Engine · 3 upvotes · 0 comments
- [Bevy 0.18](https://daily.dev/posts/bevy-0-18-uzl4pmeoc) · Lobsters · 51 upvotes · 2 comments
- [Bevy's Sixth Birthday](https://daily.dev/posts/bevy-s-sixth-birthday-bb5mw85zl) · Lobsters · 1 upvotes · 0 comments

---

Tags: [#aws](https://daily.dev/tags/aws), [#bevy](https://daily.dev/tags/bevy), [#game-development](https://daily.dev/tags/game-development), [#rust](https://daily.dev/tags/rust)

[View this post on daily.dev](https://daily.dev/posts/bevy-0-10-zpyhvqymj)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Bevy 0.10","url":"https://daily.dev/posts/bevy-0-10-zpyhvqymj","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/bevy-0-10-zpyhvqymj"},"datePublished":"2026-08-23T12:20:54.366Z","dateModified":"2026-10-15T02:21:41.287Z","description":"Bevy 0.10, a Rust game engine, ships a major rewrite of its ECS scheduling system (Schedule v3) with a unified schedule, system sets, run conditions, and...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/508a203767ba36854067278ffa5cfe1c?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/508a203767ba36854067278ffa5cfe1c?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Bevy Engine","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Bevy Engine","logo":"https://media.daily.dev/image/upload/s--oCEd8Bn1--/f_auto,q_auto/v1787487635/logos/bevy-blog?_a=BAMAMicg0","url":"https://daily.dev/sources/bevy"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/bevy-0-10-zpyhvqymj","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"aws,bevy,game-development,rust","timeRequired":"PT85M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Bevy Engine","item":"https://daily.dev/sources/bevy"},{"@type":"ListItem","position":3,"name":"Bevy 0.10"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/bevy-0-10-zpyhvqymj#faq","mainEntity":[{"@type":"Question","name":"What changed in Bevy 0.10's ECS scheduling system compared to earlier versions?","acceptedAnswer":{"@type":"Answer","text":"Bevy 0.10 replaces the old stage-based scheduling with Schedule v3, storing all systems in a single unified schedule instead of separate stages. This removes hard barriers between stages, adds add_systems for adding multiple systems at once, chain() for ordering, configurable SystemSets, run conditions replacing run criteria, and a simplified stackless state system. A migration guide covers moving existing 0.9 apps to the new model. Track breaking scheduling changes like this before upgrading a Bevy project on daily.dev."}},{"@type":"Question","name":"How much faster is Bevy 0.10's renderer compared to Bevy 0.9?","acceptedAnswer":{"@type":"Answer","text":"The final render stage is roughly 2-3 times faster in Bevy 0.10 than in 0.9, achieved through a series of targeted optimizations: disabling hot-loop logging overhead (20-50% gain), shrinking core data structures (9% gain), restructuring PhaseItem and RenderCommand handling (7% gain), and reducing allocation and atomic usage in TrackedRenderPass and resource fetching (6% and 2% gains respectively). Compare engine performance gains like these before deciding on a rendering stack on daily.dev."}},{"@type":"Question","name":"How do I schedule an exclusive system relative to other systems in Bevy 0.10?","acceptedAnswer":{"@type":"Answer","text":"Exclusive systems, which have mutable access to the entire ECS World, can now be added and ordered just like normal systems using methods such as .after() and .before(), for example app.add_system(exclusive_system.after(ordinary_system)). Command flushes are handled by the apply_system_buffers exclusive system, which can be chained explicitly with other systems using .chain() to control when queued commands are applied. Look up concrete scheduling patterns like this while building with Bevy's ECS on daily.dev."}}]}
```

