유니티와 C# 각각 랜덤값 호출 작성법이 다르다. 자세히 말하자면 using System;의 Random 클래스와 using UnityEngine;의 Random 클래스 작동 방식이 다르다. 물론 유니티에서도 System.Random을 사용할 수 있으므로 구현 방법이 하나 더 추가되었다고 하는 게 맞을 듯하다.
+ 유니티에서 System.Random을 사용한다면 이런 오류가 뜬다. 해당 Random이 System인지 UnityEngine인지 판단할 수 없다는 뜻이다.

해당 오류는 네임스페이스를 앞에 지정해주면 해결된다.
Random random = new Random();
//이렇게 사용하면 System.Random과 UnityEngine.Random이 충돌하여 오류가 발생한다.
System.Random random = new System.Random();
//이렇게 사용하자!
// C#
Random random = new Random();
int num = random.Next();
int numRange = random.Next(1, 7); //int 범위값은 동일하게 최소 이상, 최대 미만이다.
UnityEngine.Random은 시드가 동일하기 때문에, 시드를 바꾸지 않는 한 실제 사용 시 동일 패턴이 반복되어 출력될 수 있다.
// Unity C#
int num = Random.Range(1, 7);
'언어 > C#' 카테고리의 다른 글
| [DateTime] DateTime의 불변성과 대입 연산자 (0) | 2026.02.23 |
|---|---|
| CS5001: Program does not contain a static 'Main' method suitable for an entry point (0) | 2026.01.02 |