Skip to content

Emit warning when Pickable added to an entity whose mesh is unloaded from main world #19207

Open
@Runi-c

Description

@Runi-c

What problem does this solve or what need does it fill?

I lost several hours to a silent failure caused by specifying RenderAssetUsages::RENDER_WORLD on a procedural mesh builder. I figured this was safe since the docs don't mention any footguns associated with this setting, in fact they recommend it for unchanging assets:

    /// If your asset does not change, consider using `RenderAssetUsages::RENDER_WORLD` exclusively. This will cause
    /// the asset to be unloaded from the main world once it has been prepared for rendering.

but when I later added the MeshPickingPlugin it simply doesn't see any of the meshes without giving any hint as to why.

What solution would you like?

Emit a warning when a mesh with RENDER_WORLD asset usage is added alongside a non-ignore Pickable component, as I don't think this could ever be intended usage.

What alternative(s) have you considered?

Several doc improvements could allay this issue as well, chief among which warnings added to RenderAssetUsages and maybe Pickable or MeshPickingSettings.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-PickingPointing at and selecting objects of all sortsC-DocsAn addition or correction to our documentationC-UsabilityA targeted quality-of-life change that makes Bevy easier to useD-StraightforwardSimple bug fixes and API improvements, docs, test and examplesS-Needs-DesignThis issue requires design work to think about how it would best be accomplished

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions