Random Point in Convex Mesh

I’ve tried to see how Niagara does it, and although it’s too complex for me to fully understand, the description kind of suggests that it spawns particles and instantly destroys those not within the mesh, if I understand it right. So maybe you can do something similar: get a random point within the mesh bounding box, check if it overlaps the mesh itself, and if not – get another random point. Of course, the efficiency highly depends on how much empty space there is in your mesh.