> For the complete documentation index, see [llms.txt](https://docs.overthereality.ai/over-sdk-manual/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.overthereality.ai/over-sdk-manual/over-visual-scripting-legacy/nodes/operations/vector.md).

# Vector

### Description

The Vector nodes provide several operations, specifically used for handling vectors.

#### Vector Exposer

This node is used to expose certain parameters and attributes of a given input Unity 3D [Vector3](https://docs.unity3d.com/ScriptReference/Vector3.html), which are:

<table><thead><tr><th>Name</th><th width="204.3279424240331">Type</th><th width="340.1572968009442">Description</th></tr></thead><tbody><tr><td>x</td><td>Float</td><td>X component of the vector</td></tr><tr><td>y</td><td>Float</td><td>Y component of the vector</td></tr><tr><td>z</td><td>Float</td><td>Z component of the vector</td></tr></tbody></table>

<figure><img src="/files/8d3Y1fV4RjReGQjOSWYQ" alt=""><figcaption></figcaption></figure>

#### Base

This collection of Nodes are responsible for performing basic useful operations with vectors.

<table><thead><tr><th width="204">Node</th><th>Description</th></tr></thead><tbody><tr><td>Angle</td><td>Calculates the angle, in degrees, between two vectors</td></tr><tr><td>Distance</td><td>Returns the distance between two vectors</td></tr><tr><td>Dot</td><td>Dot Product of two vectors</td></tr><tr><td>Normalize</td><td>Makes this vector have a magnitude of 1</td></tr><tr><td>Cross</td><td>Cross Product of two vectors</td></tr><tr><td>Magnitude</td><td>Returns the length of this vector</td></tr><tr><td>Max</td><td>Returns a vector that is made from the largest components of two vectors</td></tr><tr><td>Min</td><td>Returns a vector that is made from the smallest components of two vectors</td></tr><tr><td>Scale</td><td>Multiplies two vectors component-wise</td></tr></tbody></table>

<figure><img src="/files/PASV8QqMkeOM4TELovS8" alt=""><figcaption></figcaption></figure>

#### Interpolation

This collection of Nodes allows for the implementation of interpolation between vectors.

<table><thead><tr><th width="204">Node</th><th>Description</th></tr></thead><tbody><tr><td>Lerp</td><td>Linearly interpolates between two points</td></tr><tr><td>Sphere Lerp</td><td>Spherically interpolates between two vectors</td></tr></tbody></table>

In both cases, the value `T` represents the value used for interpolation: if `T = 0` the result will be the first point, if `T = 1` the second.

<figure><img src="/files/iNxCfGHT35JDFQYytvwc" alt=""><figcaption></figcaption></figure>

#### Math

This collection of Nodes allows for simple mathematical operations between vectors.

<table><thead><tr><th width="204">Node</th><th>Description</th></tr></thead><tbody><tr><td>Vector Sum</td><td>Returns the sum of two vectors</td></tr><tr><td>Vector Subtraction</td><td>Returns the subtraction of two vectors</td></tr><tr><td>Vector Multiply</td><td>Returns the multiplication between a vector and a float scalar</td></tr><tr><td>Vector Divide</td><td>Returns the division between a vector and a float scalar</td></tr></tbody></table>

<figure><img src="/files/CWF2DCKiubK85NV31fZ8" alt=""><figcaption></figcaption></figure>
