I'm using iyes_loopless and I've run into a problem where it seems that system calling a despawn_recursive() from an entity commands can cause Bevy to choke with an entity does not exist error:
thread 'Compute Task Pool (3)' panicked at 'Attempting to create an EntityCommands for entity 58v0, which doesn't exist.'
I "solved" this by making a different game label where the system with the despawn code runs after other systems that might use the entities that were despawned.
Is that the intended behavior? My understanding was that despawn will queue entities to be despawned after all the other system updates so that it doesn't cause any conflicts with other systems. But clearly that's not the case, because otherwise this wouldn't cause a problem.
Perhaps this is a problem with using iyes_loopless since it seems like it mucks with the stages of things?