Mesh registration action has no effect on parent node

When registering action for a mesh, if the mesh has multiple levels, can’t you register actions on the parent node?

image

For example, for this imported model, I register the OnPointerOverTrigger action for import103 is invalid, is it because the mesh does not exist geometry?

You’re correct, when the scene registers that the mouse is over a mesh, it tries to get the ActionManager of that mesh, not from its parents: https://github.com/BabylonJS/Babylon.js/blob/0b857995ad0bc9b39708a27ea9b97e5ce9378d0d/packages/dev/core/src/Inputs/scene.inputManager.ts#L959. And since the parent doesn’t have geometry, it won’t be ever picked by the mouse. One possible solution would be to parent the mesh to a box with the entire mesh’s dimensions. This has the added benefit of faster picking too: glTF Loader Demo | Babylon.js Playground (babylonjs.com)