Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support custom scheduling and system ordering for Bevy. #137

Open
starwolfy opened this issue Dec 27, 2023 · 2 comments
Open

Support custom scheduling and system ordering for Bevy. #137

starwolfy opened this issue Dec 27, 2023 · 2 comments

Comments

@starwolfy
Copy link

starwolfy commented Dec 27, 2023

Two features would allow for custom scheduling inside a Bevy loop:

  1. Pass Schedules to RenetServerPlugin and RenetClientPlugin and pass it to plugin configurations to replace hardcoded PreUpdate and PostUpdate schedules. bevy_xpbd implemented support for custom schedules the same way.
  2. Create a publicly accessible SystemSet and add them to important renet systems such as send_packets. So user code can use and configure the execution order of these sets within their own app.

A user may also desire to run systems with the currently hardcoded PreUpdate and PostUpdate schedules in the same schedule. In this case the plugin systems ordering must strictly rely on the SystemSet by configuring App with configure_sets to chain the elements of the SystemSet in the desired order.

@UkoeHB
Copy link
Contributor

UkoeHB commented Dec 29, 2023

Create a publicly accessible SystemSet and add them to important renet systems such as send_packets. So user code can use and configure the execution order of these sets within their own app.

There is RenetReceive and RenetSend, with an open PR #134 to improve the situation further.

I agree that injecting the schedules would be useful.

@starwolfy
Copy link
Author

starwolfy commented Jan 1, 2024

I did not know about RenetReceive and RenetSend. This makes my request for more system sets unneeded.
Still though, being able to pass any schedule is still something powerful that is missing. This may put systems currently separated by schedules (PreUpdate, PostUpdate) into the same schedule if the user desires. To maintain the intended system order perhaps a SystemSet that simply has two Pre / Post elements for systems would suffice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants