Grenade often moves through meshes

This is already built in to the engine; something like “spawn radial damage at point” which will find all damage-able actors within radius and apply that damage.
Similarly, you can then, per actor, check the “apply impulse on damage” if you want them to move from the damage.