Oh, it's "simple" code using our infrastructure :P We use a 3rdparty rendering engine, and so the "ray" returns a bunch of nodes, I need to pick the "closest" node, then inspect the "custom pointer" to see if it has something and if it is something that belong to us; if it's not, then I have to check the 3d node ancestors until I find such a node. Then I'll know it's a ComponentGfx, I'll get the owning Entity, then I'll get the "top level" entity and add a ComponentSelected to it.