This script by Rich Colburn is going to change the way you think about cloth simulation and other animated deformed surfaces.
At the 2016 Blender Conference I showed a script that lets you bind an object to the surface of another object. It's great for attaching accessories to already-rigged characters or any other situation where you want an object to deform with the surface of another object.
I've made the script available as an addon along with two others on GitHub.
The second script let's you create a flattened version of your mesh similar to UV unwrapping. It works great with the surface follow script for placing or deforming objects along the surface of a complex shape.
The third script lets you transform textures right in the viewport by clicking and dragging. You can move, rotate, and scale textures with custom origins.