final Vector3 v = Vector3.fetchTempInstance();
// note: we round to get the text pixel aligned... otherwise it can get blurry
v.set(Math.round(x), Math.round(y), 0);
final Transform t = Transform.fetchTempInstance();
t.set(getWorldTransform());
t.applyForwardVector(v);
t.translate(v);
Vector3.releaseTempInstance(v);
_uiText.setWorldTransform(t);
Transform.releaseTempInstance(t);