Почему Random.Range() возвращает одно и тоже число? Каждый раз он возвращает 0.
Instantiate(Object[Random.Range(0, 1)], new Vector2(0, 0), Quaternion.identity);
Чтобы получать случайные нули и единицы, нужно вызывать:
Random.Range(0, 2) // integers in range [0, 2)
В целочисленной перегрузке Random.Range max исключается:
public static int Range(int min, int max);
Description:
Return a random integer number between min [inclusive] and max [exclusive]
Note max is exclusive. Random.Range(0, 10) can return a value between 0 and 9. Return min if max equals min.
Документация
Описание:
Возвращает случайное целое число между min [включительно] и max [исключительно]
Внимание: max не включается. Random.Range(0, 10) может возвращать значения от 0 до 9. Возвращает min, если max равен min.
Итак, Вам нужен Random.Range(0, 2)
Перегрузка для действительных чисел, напротив, включает оба конца интервала.
Дополню, если нужно от 0.5f и до 4 то вот вам пример.
Random.Range(.05f,4);
Сборка персонального компьютера от Artline: умный выбор для современных пользователей