Puzzle board is a shader/material created as part of an R&D for a previous VFX project. The motion is based on a UV tile based mask that determines what is moving and what is not and the sequential motion on the blocks is achieved by creating a UV based "stepped" gradient. In order to achieve this all the pieces were placed one after the other across the UVs on a separate UV channel. In this case I used 2 "opposing placements to generate a double spiral look. The amount of steps in the gradient are of course related to the amount of blocks that will be animated. The same effect can be of course generated via a texture. After obtaining the UV gradient then the rest of the motion can be generated by various means (sine/cosine*time ) etc.