# Vector3Int

> Representation of 3D vectors and points using integers.

## Definition

* **Type:** Struct
* **Namespace:** [UnityEngine](/engine/6000.6/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule
* **Implements:** [IEquatable\<Vector3Int>](https://learn.microsoft.com/dotnet/api/system.iequatable-1), [IFormattable](https://learn.microsoft.com/dotnet/api/system.iformattable)

```csharp
public struct Vector3Int : IEquatable<Vector3Int>, IFormattable
```

## Remarks

This structure is used in some places to represent 3D positions and vectors that don't require the precision of floating-point.

## Constructors

| Constructor                                                                                                                                    | Description                                                                                           |
| ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| [Vector3Int(System.Int32,System.Int32)](/engine/6000.6/script-reference/unityengine/vector3int/ctor.md#vector3int\(int-int\))                  | Initializes and returns an instance of a new Vector3Int with x and y components and sets `z` to zero. |
| [Vector3Int(System.Int32,System.Int32,System.Int32)](/engine/6000.6/script-reference/unityengine/vector3int/ctor.md#vector3int\(int-int-int\)) | Initializes and returns an instance of a new Vector3Int with x, y, z components.                      |

## Properties

| Property                                                                               | Description                                                                 |
| -------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| [this\[\]](/engine/6000.6/script-reference/unityengine/vector3int/item.md)             | Access the `x`, `y` or `z` component using \[0], \[1] or \[2] respectively. |
| [magnitude](/engine/6000.6/script-reference/unityengine/vector3int/magnitude.md)       | Returns the length of this vector (Read Only).                              |
| [sqrMagnitude](/engine/6000.6/script-reference/unityengine/vector3int/sqrmagnitude.md) | Returns the squared length of this vector (Read Only).                      |
| [x](/engine/6000.6/script-reference/unityengine/vector3int/x.md)                       | X component of the vector.                                                  |
| [y](/engine/6000.6/script-reference/unityengine/vector3int/y.md)                       | Y component of the vector.                                                  |
| [z](/engine/6000.6/script-reference/unityengine/vector3int/z.md)                       | Z component of the vector.                                                  |

## Static Properties

| Property                                                                     | Description                                   |
| ---------------------------------------------------------------------------- | --------------------------------------------- |
| [back](/engine/6000.6/script-reference/unityengine/vector3int/back.md)       | The unit vector in the negative z direction   |
| [down](/engine/6000.6/script-reference/unityengine/vector3int/down.md)       | Shorthand for writing `Vector3Int(0, -1, 0)`. |
| [forward](/engine/6000.6/script-reference/unityengine/vector3int/forward.md) | Shorthand for writing `Vector3Int(0, 0, 1)`.  |
| [left](/engine/6000.6/script-reference/unityengine/vector3int/left.md)       | Shorthand for writing `Vector3Int(-1, 0, 0)`. |
| [one](/engine/6000.6/script-reference/unityengine/vector3int/one.md)         | Shorthand for writing `Vector3Int(1, 1, 1)`.  |
| [right](/engine/6000.6/script-reference/unityengine/vector3int/right.md)     | Shorthand for writing `Vector3Int(1, 0, 0)`.  |
| [up](/engine/6000.6/script-reference/unityengine/vector3int/up.md)           | Shorthand for writing `Vector3Int(0, 1, 0)`.  |
| [zero](/engine/6000.6/script-reference/unityengine/vector3int/zero.md)       | Shorthand for writing `Vector3Int(0, 0, 0)`.  |

## Methods

| Method                                                                               | Description                                                                                                       |
| ------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------- |
| [Clamp](/engine/6000.6/script-reference/unityengine/vector3int/clamp.md)             | Clamps the `Vector3Int` to the bounds given by `min` and `max`.                                                   |
| [Equals](/engine/6000.6/script-reference/unityengine/vector3int/equals.md)           | Determines if an object is equal to this vector.                                                                  |
| [GetHashCode](/engine/6000.6/script-reference/unityengine/vector3int/gethashcode.md) | Gets the hash code for the `Vector3Int`.                                                                          |
| [Scale](/engine/6000.6/script-reference/unityengine/vector3int/scale.md)             | Multiplies every component of this vector by the same component of `scale`.                                       |
| [Set](/engine/6000.6/script-reference/unityengine/vector3int/set.md)                 | Set x, y and z components of an existing [Vector3Int](/engine/6000.6/script-reference/unityengine/vector3int.md). |
| [ToString](/engine/6000.6/script-reference/unityengine/vector3int/tostring.md)       | Formats this vector as a string.                                                                                  |

## Static Methods

| Method                                                                             | Description                                                                                                                                                                                 |
| ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [CeilToInt](/engine/6000.6/script-reference/unityengine/vector3int/ceiltoint.md)   | Converts a [Vector3](/engine/6000.6/script-reference/unityengine/vector3.md) to a [Vector3Int](/engine/6000.6/script-reference/unityengine/vector3int.md) by doing a Ceiling to each value. |
| [Distance](/engine/6000.6/script-reference/unityengine/vector3int/distance.md)     | Calculates the distance between two given vectors.                                                                                                                                          |
| [FloorToInt](/engine/6000.6/script-reference/unityengine/vector3int/floortoint.md) | Converts a given [Vector3](/engine/6000.6/script-reference/unityengine/vector3.md) into a `Vector3Int` by doing a Floor to each value.                                                      |
| [Max](/engine/6000.6/script-reference/unityengine/vector3int/max.md)               | Creates a vector that is made from the largest components of two vectors.                                                                                                                   |
| [Min](/engine/6000.6/script-reference/unityengine/vector3int/min.md)               | Creates a vector that is made from the smallest components of two vectors.                                                                                                                  |
| [RoundToInt](/engine/6000.6/script-reference/unityengine/vector3int/roundtoint.md) | Converts a  [Vector3](/engine/6000.6/script-reference/unityengine/vector3.md) to a [Vector3Int](/engine/6000.6/script-reference/unityengine/vector3int.md) by doing a Round to each value.  |
| [Scale](/engine/6000.6/script-reference/unityengine/vector3int/scale.md)           | Multiplies two vectors component-wise.                                                                                                                                                      |

## Operators

| Operator                                                                               | Description                                                                                                                                                |
| -------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [operator +](/engine/6000.6/script-reference/unityengine/vector3int/op-addition.md)    | Adds two vectors.                                                                                                                                          |
| [operator /](/engine/6000.6/script-reference/unityengine/vector3int/op-division.md)    | Divides a vector by a number.                                                                                                                              |
| [operator ==](/engine/6000.6/script-reference/unityengine/vector3int/op-equality.md)   | Returns true if the vectors are equal.                                                                                                                     |
| [Vector2Int](/engine/6000.6/script-reference/unityengine/vector3int/op-explicit.md)    | Converts a Vector3Int into a Vector2Int.                                                                                                                   |
| [Vector3Int](/engine/6000.6/script-reference/unityengine/vector3int/op-implicit.md)    | Converts an int3 to Vector3Int.                                                                                                                            |
| [int3](/engine/6000.6/script-reference/unityengine/vector3int/op-implicit.md)          | Converts a Vector3Int to int3.                                                                                                                             |
| [Vector3](/engine/6000.6/script-reference/unityengine/vector3int/op-implicit.md)       | Converts a [Vector3Int](/engine/6000.6/script-reference/unityengine/vector3int.md) to a [Vector3](/engine/6000.6/script-reference/unityengine/vector3.md). |
| [operator !=](/engine/6000.6/script-reference/unityengine/vector3int/op-inequality.md) | Returns true if the vectors are different.                                                                                                                 |
| [operator \*](/engine/6000.6/script-reference/unityengine/vector3int/op-multiply.md)   | Multiplies a vector by a number.                                                                                                                           |
| [operator -](/engine/6000.6/script-reference/unityengine/vector3int/op-subtraction.md) | Subtracts one vector from another.                                                                                                                         |
