bevy_sync

Crates.iobevy_sync
lib.rsbevy_sync
version0.14.5
sourcesrc
created_at2023-06-03 11:49:55.722536
updated_at2024-10-05 12:16:14.138177
descriptionPlugin for synchronizing entities and components between server and its clients.
homepagehttps://github.com/raffaeleragni/bevy_sync
repositoryhttps://github.com/raffaeleragni/bevy_sync
max_upload_size
id881568
size266,846
Raffaele Ragni (raffaeleragni)

documentation

https://github.com/raffaeleragni/bevy_sync/blob/master/README.md

README

bevy_sync

crates.io build

Sync

Plugin for synchronizing entities and components between server and its clients. Uses bevy_renet.

Basic features

  • 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

Advanced features

  • 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.

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
0.13 0.13.x
0.14 0.14.x
... ...
Commit count: 188

cargo fmt