Array Manual     Reference     Scripting  
Scripting > Runtime Classes > Array

Arrays allow you to store multiple objects in a single variable.

The Array class is only only available in Javascript. For more information about ArrayLists, Dictionaries or Hashtables in C# or Javascript see here

Here is a basic example of what you can do with an array class

function Start () {
var arr = new Array ();

// Add one element
arr.Push ("Hello");

// print the first element ("Hello")

// Resize the array
arr.length = 2;
// Assign "World" to the second element
arr[1] = "World";

// iterate through the array
for (var value : String in arr) {

There are two types of arrays in Unity, builtin arrays and normal Javascript Arrays.

Builtin arrays (native .NET arrays), are extremely fast and efficient but they can not be resized.

They are statically typed which allows them to be edited in the inspector. Here is a basic example of how you can use builtin arrays.

// Exposes an float array in the inspector,
// which you can edit there.
var values : float[];

function Start () {
// iterate through the array
for (var value in values) {

// Since we can't resize builtin arrays
// we have to recreate the array to resize it
values = new float[10];

// assign the second element
values[1] = 5.0;

Builtin arrays are useful in performance critical code (With Unity's javascript and builtin arrays you could easily process 2 million vertices using the mesh interface in one second.)

Normal Javascript Arrays on the other hand can be resized, sorted and can do all other operations you would expect from an array class. Javascript Arrays do not show up in the inspector. You can easily convert between Javascript Arrays and builtin arrays.

function Start () {
var array = new Array (Vector3(0, 0, 0), Vector3(0, 0, 1));
array.Push(Vector3(0, 0, 2));
array.Push(Vector3(0, 0, 3));

// Copy the js array into a builtin array
var builtinArray : Vector3[] = array.ToBuiltin(Vector3);

// Assign the builtin array to a js Array
var newarr = new Array (builtinArray);

// newarr contains the same elements as array
print (newarr);

Note that in the following all functions are upper case following Unity's naming convention. As a convenience for javascript users, Unity also accepts lower case functions for the array class.

Note: Unity doesn't support serialization of a List of Lists, nor an Array of Arrays.


the length property of the array that returns or sets the number of elements in array


Creates an Array of a fixed size.


Concat joins two or more arrays. The method does not change the existing arrays


Joins the contents of an array into one string.


Adds value to the end of the array.


Adds value to the end of the array.


Removes the last element of the array and returns it


Removes the first element of the array and returns it


Removes the element at index from the array.


Unshift adds one or more elements to the beginning of an array and returns the new length of the array.


Empties the array. The length of the array will be zero.


Reverses the order of all elements contained in the array


Sorts all Array elements