Plugin for synchronizing entities and components between server and its clients.
Uses bevy_renet
.
- Entity synchronization
- Entyty sync is based on UUIDs
- Component synchronization
- Parent/Child entity synchronization
- 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
- UPnP
- Steam sockets (steam sdk binding)
- Throttleable sync (time window queuing)
- Skippable channel for Unordered+Unreliable
- Transform
Asset are synchronized only if they are added to bevy by uuid.
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.
Base version of bevy_sync is inherited from bevy version.
bevy | bevy_sync |
---|---|
0.12 | 0.12.x |
0.13 | 0.13.x |
0.14 | 0.14.x |
... | ... |