Also this is a long shot, but any chance of supporting higher level languages. Maybe it calls the underlying Rust code from C#
Also this is a long shot, but any chance of supporting higher level languages. Maybe it calls the underlying Rust code from C#
Just search "_by_id" in the bevy_ecs docs, and you'll find all of the associated APIs for access. There are then (unsafe) APIs for creating the internal mappings necessary to use them. These are normally called via the monomorphized generics automatically, but need to be manually called since we don't have compile time knowledge of the data being stored and accessed.
Maybe the next time I'm on vacation I'll embrace rust...
For more developer experience oriented reasons why this is done, I strongly suggest reading cart's reasons for making Bevy to begin with: https://github.com/bevyengine/bevy/discussions/8107#discussi.... More specifically the "Turtles all the way down" bullet point.