In my talk I will address several issues in the implementation of parallel multigrid methods on unstructured meshes. The basic algorithm can be used in two and three space dimensions and for many different discretization schemes and PDE systems. Dynamic load balancing schemes for additive and multiplicative multigrid in the case of adaptive local grid refinement will be presented. Since the implementation of all these methods requires a large programming effort a few remarks about the software design of the UG (Unstructured Grids) code are made. The flexibility of the code and its parallel and numerical efficiency are demonstrated for a large number of examples.