you should also make 100 or 200 second videos showcasing random features of bevy. like first show an isolated real world problem, then show the bevy feature solving it.
why can't a system simply request mutable World access, and bevy ECS will figure out the parallelism? And could you add multiple systems and (a, b, c).chain() to run in specific order technically, or schedules.
You can get mutable world access in a system but then it will run exclusively. The issue is the borrow checker, there's no way for bevy to know what you will do with mutable access to everything so you might have 2 parallel systems changing the same piece of data which is forbidden.
Have you try to add a impl trait on Commands? You could add a custom function via trait "spawn_cube“. And call commands.spawn_cube(... But you need to do some lifecycle, in other hand the performance is better I think.
I haven't tried that myself so I'm not sure where the differences would be. It shouldn't have better perf because you still need them to run exclusively but the ergonomics might be different
Great video! If you're worried about execution times, you could implement your own command queue system that runs separately from Bevy's.
you should also make 100 or 200 second videos showcasing random features of bevy.
like first show an isolated real world problem, then show the bevy feature solving it.
Great channel 🎉
This is exactly what I was looking for!
great video, very useful! I finally started my new project and will use this, thanks!
Another approach is to create macros, they will remove the boilerplate and keep all the benefits like parallel processing
Great content dude! Keep it going!
why can't a system simply request mutable World access, and bevy ECS will figure out the parallelism?
And could you add multiple systems and (a, b, c).chain() to run in specific order technically, or schedules.
You can get mutable world access in a system but then it will run exclusively. The issue is the borrow checker, there's no way for bevy to know what you will do with mutable access to everything so you might have 2 parallel systems changing the same piece of data which is forbidden.
Have you try to add a impl trait on Commands?
You could add a custom function via trait "spawn_cube“.
And call commands.spawn_cube(...
But you need to do some lifecycle, in other hand the performance is better I think.
I haven't tried that myself so I'm not sure where the differences would be. It shouldn't have better perf because you still need them to run exclusively but the ergonomics might be different
I Command thee to add VR / AR and AI capabilities to Bevy.
This message was created using AI.
I already did (VR )