23 releases
0.13.0 | Feb 28, 2024 |
---|---|
0.12.11 | Feb 8, 2024 |
0.12.9 | Jan 30, 2024 |
0.12.7 | Dec 31, 2023 |
0.1.2 | Jun 11, 2023 |
#413 in Game dev
151 downloads per month
93KB
2.5K
SLoC
bevy_sync
Plugin for synchronizing entities and components between server and its clients. This plugin is meant to support collaborative editing environment through editors and supports bi-directional updates between server and client.
Uses bevy_renet
.
Current state is in development.
- Entity synchronization
- Component synchronization
- Parent/Child entity synchronization
- Skippable channel for Unordered+Unreliable
- Transform
- Throttleable sync (time window queuing)
- Host switch / promotion
- SimpleMaterial (through sync channel)
- Serve assets through http
- Asset: Mesh
- programmatically created mesh
- mesh from gltf: static
- rigged
- with morphs
- Asset: Textures
- Asset: Audio
- Compressed Assets
Asset are synchronized only if they are added to bevy by uuid.
Examples
Run both examples so the they connect to each other:
cargo run --example host
cargo run --example client
Then open the editor and change a component value in one to see it reflected in the other.
Versions
Base version of bevy_sync is inherited from bevy version.
bevy | bevy_sync |
---|---|
0.12 | 0.12.x |
Dependencies
~21–51MB
~845K SLoC