How to rig a shirt with buttons so that the buttons follow the mesh of the shirt
You may do it using vertex and object parenting.


Select the vertex where you want to place the button and snap the cursor to it. In Object Mode add an Empty there.


Now select the Empty, then the mesh and enter Edit Mode. Select three vertices around the button and press Ctrl+P-->Make Vertex Parent. Finally parent the button object to an Empty. (Ctrl+P-->Object (Keep Transform)).