Unity 5 - Health Bars above enemies

What is the best way to have hp bars above enemies?
Currently I just make a small canvas and change its worldspace and attach to each enemy (about 30 enemies per Stage - 2D platformer)

But maybe this is not really good solution?

It sounds better than putting it on the GUILayer and having to convert real-world(game) X, Y and Z (depending on your implementation) into GUI coordinates. However, if you do have a Z plane you may have the problem of the health bar’s size getting smaller/bigger which may not be what you want visually.

Do you like the way the current solution works?