In Unity 3D,

How do I calculate the angles of the objects in the figure and find the object with the closest angle to the target?

Try reading up upon the “Dot Product” function/formula, which will allow you to calculate the angle between 2 normalized directions. Then do these for all objects you are interested in and selct the one with the smallest angle

As @Glenn-Korver suggested, you can use `Vector3.Dot()`

```
float dot_product = Vector3.Dot(transform.forward, (target.position - transform.position).normalized);
```

This will return a value of 1 when directions align perfectly, 0 when they’re perpendicular.

Or you can use `Vector3.Angle()`

```
float angle = Vector3.Angle (transform.forward, (target.position - transform.position).normalized);
```

This will return the angle in degrees.

This 1 shows this technique to highlight objects as you look at them in a VR project.

This is from my Introduction to VR course, available here.