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

---
title: Bevy 0.15 | daily.dev
description: Bevy 0.15 ships with 294 contributors and 1217 pull requests, introducing Required Components, a major rethink of entity spawning that deprecates all built-in...
canonical: https://daily.dev/posts/bevy-0-15-miw7akjhm
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Bevy 0.15 | daily.dev
og:description: Bevy 0.15 ships with 294 contributors and 1217 pull requests, introducing Required Components, a major rethink of entity spawning that deprecates all built-in...
og:url: https://daily.dev/posts/bevy-0-15-miw7akjhm
og:image: https://api.daily.dev/og/posts/Miw7aKjhm.png
og:image:alt: Bevy 0.15
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.15

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

## Summary

Bevy 0.15 ships with 294 contributors and 1217 pull requests, introducing Required Components, a major rethink of entity spawning that deprecates all built-in bundles like SpriteBundle and NodeBundle. Other highlights include an entity picking/selection system adopted from bevy_mod_picking, generalized animation with masks and additive blending, the Bevy Remote Protocol for external tool integration, VBAO ambient occlusion, chromatic aberration post-processing, Order Independent Transparency, gamepads represented as entities, UI box shadows, and a switch to Cosmic Text for improved font shaping and bidirectional text support. A migration guide is provided for upgrading from 0.14.

## Full article

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

## Questions this post answers

### What is the Required Components feature in Bevy 0.15 and how does it replace Bundles?

Required Components let a component declare via #[require(...)] which other components must accompany it, so inserting a component like Player automatically inserts its dependencies such as Team and Sprite, including transitively required components. This eliminates the need for separate Bundle structs, reduces boilerplate and API stutter, and is implemented so required components are inserted with no extra archetype changes or table moves.

_Developers upgrading engine internals like this can track breaking API changes on daily.dev._

### Are built-in Bevy bundles like SpriteBundle and NodeBundle removed in Bevy 0.15?

Built-in bundles such as SpriteBundle, NodeBundle, and PbrBundle are deprecated as of Bevy 0.15 in favor of Required Components, though the Bundle trait itself still exists and custom bundles remain usable alongside required components. Plugin and app developers are encouraged to port their own bundles to the new pattern, and a 0.14 to 0.15 migration guide documents the necessary changes.

_Teams planning a Bevy version bump can check daily.dev for the specifics before migrating._

### What changed for Bevy's virtual geometry (meshlet) feature in version 0.15?

GPUs must now support WgpuFeatures::SHADER_INT64_ATOMIC_MIN_MAX to use the meshlet feature, meaning older GPUs that worked in Bevy 0.14 may no longer be compatible. Existing MeshletMesh assets generated under Bevy 0.14 must be regenerated since they are incompatible with Bevy 0.15, and the feature remains experimental despite performance improvements.

_Following engine-specific hardware requirement shifts like this is easier with daily.dev._

## Similar posts on daily.dev

- [Bevy 0.18](https://daily.dev/posts/bevy-0-18-uzl4pmeoc) · Lobsters · 51 upvotes · 2 comments
- [Bevy 0.19](https://daily.dev/posts/bevy-0-19-sk3tvicux) · Lobsters · 19 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), [#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-15-miw7akjhm)

```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.15","url":"https://daily.dev/posts/bevy-0-15-miw7akjhm","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/bevy-0-15-miw7akjhm"},"datePublished":"2026-08-23T12:24:07.722Z","dateModified":"2026-08-23T12:56:38.681Z","description":"Bevy 0.15 ships with 294 contributors and 1217 pull requests, introducing Required Components, a major rethink of entity spawning that deprecates all built-in...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/6f36ba9268d7f413b58ec7d287935630?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/6f36ba9268d7f413b58ec7d287935630?_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-15-miw7akjhm","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"aws,game-development,rust","timeRequired":"PT121M"}
{"@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.15"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/bevy-0-15-miw7akjhm#faq","mainEntity":[{"@type":"Question","name":"What is the Required Components feature in Bevy 0.15 and how does it replace Bundles?","acceptedAnswer":{"@type":"Answer","text":"Required Components let a component declare via #[require(...)] which other components must accompany it, so inserting a component like Player automatically inserts its dependencies such as Team and Sprite, including transitively required components. This eliminates the need for separate Bundle structs, reduces boilerplate and API stutter, and is implemented so required components are inserted with no extra archetype changes or table moves. Developers upgrading engine internals like this can track breaking API changes on daily.dev."}},{"@type":"Question","name":"Are built-in Bevy bundles like SpriteBundle and NodeBundle removed in Bevy 0.15?","acceptedAnswer":{"@type":"Answer","text":"Built-in bundles such as SpriteBundle, NodeBundle, and PbrBundle are deprecated as of Bevy 0.15 in favor of Required Components, though the Bundle trait itself still exists and custom bundles remain usable alongside required components. Plugin and app developers are encouraged to port their own bundles to the new pattern, and a 0.14 to 0.15 migration guide documents the necessary changes. Teams planning a Bevy version bump can check daily.dev for the specifics before migrating."}},{"@type":"Question","name":"What changed for Bevy's virtual geometry (meshlet) feature in version 0.15?","acceptedAnswer":{"@type":"Answer","text":"GPUs must now support WgpuFeatures::SHADER_INT64_ATOMIC_MIN_MAX to use the meshlet feature, meaning older GPUs that worked in Bevy 0.14 may no longer be compatible. Existing MeshletMesh assets generated under Bevy 0.14 must be regenerated since they are incompatible with Bevy 0.15, and the feature remains experimental despite performance improvements. Following engine-specific hardware requirement shifts like this is easier with daily.dev."}}]}
```

