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

Download history 7/week @ 2023-12-30 37/week @ 2024-01-27 7/week @ 2024-02-03 78/week @ 2024-02-17 151/week @ 2024-02-24 20/week @ 2024-03-02 10/week @ 2024-03-09 2/week @ 2024-03-16 125/week @ 2024-03-30 26/week @ 2024-04-06

151 downloads per month

MIT/Apache

93KB
2.5K SLoC

bevy_sync

build

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