Aren, I'm using UIFollowTarget.cs separately, but had to modify it for my purposes a bit (such as clamping "isVisible" to 0.1 to 0.9 so that my panels weren't so chopped off as the target approached the viewport edges), but had a problem that PixelPerfect operations weren't working properly with the displayed widgets. I seem to have fixed this by modifying the following lines with a 0.5f pixel offset:
// If visible, update the position
if (isVisible)
{
transform.position = mUICamera.ViewportToWorldPoint(pos);
pos = transform.localPosition;
pos.x = Mathf.RoundToInt(pos.x) + 0.5f;
pos.y = Mathf.RoundToInt(pos.y) + 0.5f;
pos.z = 0f;
transform.localPosition = pos;
}
Perhaps you use this class with your other scripts and do the 0.5 nudging there, but this seems to make the UIFollowTarget class work a bit better on its own.
Note: I'm using UIFollowTarget as a child of the UICamera without having it a child of a UIAnchor object, which might be why I have to do this.