Modify mesh on runtime

My character wear layered clothes. For example, shirts and vest, pants and belt.
But sometimes a low layer cloth appear over high layer cloth.
So I tried to make cutting box for each cloth and modify lower layer mesh from higher cloth’s cutting box.

There is two problems.

  1. Is there good way to modify mesh in runtime? I found MergeMeshUtility, but it’s not helpful. Next, I modify FSkeletalMeshRenderData but there are warnings and result is bad.
  2. If I success modify mesh, It modify all mesh not specific meshComponent’s data. Can I instancing it?