# Vector2Int

> Representation of 2D vectors and points using integers.

## Definition

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

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

## Remarks

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

## Properties

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

## Static Properties

| Property                                                                 | Description                                |
| ------------------------------------------------------------------------ | ------------------------------------------ |
| [down](/engine/6000.6/script-reference/unityengine/vector2int/down.md)   | Shorthand for writing `Vector2Int(0, -1)`. |
| [left](/engine/6000.6/script-reference/unityengine/vector2int/left.md)   | Shorthand for writing `Vector2Int(-1, 0)`. |
| [one](/engine/6000.6/script-reference/unityengine/vector2int/one.md)     | Shorthand for writing `Vector2Int(1, 1)`.  |
| [right](/engine/6000.6/script-reference/unityengine/vector2int/right.md) | Shorthand for writing `Vector2Int(1, 0)`.  |
| [up](/engine/6000.6/script-reference/unityengine/vector2int/up.md)       | Shorthand for writing `Vector2Int(0, 1)`.  |
| [zero](/engine/6000.6/script-reference/unityengine/vector2int/zero.md)   | Shorthand for writing `Vector2Int(0, 0)`.  |

## Methods

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

## Static Methods

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

## Operators

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