Non-Rotating Billboards

I’m trying to add a box around the selected object in my scene for my HUD. But since the box is tracking an object in 3D space, I was hoping to use a basic billboard rather than using GUI functions.

The trouble is that I’m finding that using LookAt( transform,vector3 ); introduces some rotation around the axis, which means that the billboard rotates as I move my camera around the scene.

Is there an alternative to LookAt or an algorithm I can use to ensure my billboard remains ‘upright’ in respect to the camera at all times (for example - if I was to write text on my billboard, it would be the right way up regardless of camera orientation?)

I’ve tried parenting the billboard object to my camera. But without the ‘LookAt’ function being called you can see the fact that it’s a 2D image - and when you use the LookAt function it causes the billboard to have an animated spin.

public Transform ToCamera;
protected Vector3 initial;
	
void Start () 
{
	if (ToCamera == null) ToCamera = Camera.main.transform;

     //Store the initial editor rotation so that we can maintain it.
	initial = transform.localRotation.eulerAngles;
}
	
void Update () 
{
	transform.LookAt(ToCamera.transform,transform.up);
	transform.Rotate(-initial);
}