Skip to content

malfuu/bevy_replicon_visible_sets

Repository files navigation

bevy_replicon_visible_sets

An alternative to bevy_replicon's high-level Visibility Rules API, with Potentially Visible Sets (PVS). Works by relating entities inside of VisibleContainers, which can be visible to VisibleObservers. Clients in turn use ClientVisible to insert VisibleObservers.

Simplified diagram of components at play: Diagram of Component Relations

Essentially a glorified 3-layered N:M relationship manager that propagates VisibleIn entities upwards, using Bevy's mutation check mechanisms.

Features

  • Visibility Rules apply client entities
  • Always Visible entities
  • Visibility Layers
  • Component Visibility

Limitations

Because it is fresh off the oven and other reasons:

  • memory cost will scale linearly in the server, as ALL replicated entities need to be saved in ClientVisibility
  • no marking an entity always visible to some clients (yet)
  • no component visibility rules (yet).
  • not well tested + error prone
  • no benching

Compatibility

bevy bevy_replicon bevy_replicon_visible_sets
0.19 0.41 0.0.1

License

Dual-licensed under either (MIT License or (Apache License, Version 2.0 at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

Potentially Visible Sets with `bevy_replicon`

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages