A-Dyu의 개발 일기장

[유니티] 커맨드 라인 인자 받는 방법 본문

유니티/유니티 기능

[유니티] 커맨드 라인 인자 받는 방법

ADyu 2025. 2. 14. 00:34

유니티에서 커맨드라인이나 bat파일로 실행할 때 커맨드 라인에서 인자를 받고 싶을 때가 있다.

이럴 때 사용할 수 있는 방법이 있다.

 

Environment.GetCommandLineArgs

이 함수는 System네임스페이스에 포함된 Environment클래스의 기능이다.

커맨드 라인에서 받은 여러 가지 인자를 string배열로 반환하며, 0번째 요소는 실행 파일을 실행할 때 사용한 경로이므로 1번째부터 요소를 읽는 걸 추천한다.

using System;//Environment를 사용하기 위한 namespace

void Start(){
    string[] args = Environment.GetCommandLineArgs();
    foreach (string arg in args)
    {
        Debug.Log(arg);
        //첫번째 Debug는 PrjectName.exe가 출력된다
    }
}

그 외 유니티에서 지원하는 여러가지 옵션 인자들이 있다.

https://docs.unity3d.com/kr/560/Manual/CommandLineArguments.html

 

커맨드 라인 인자(Command line arguments) - Unity 매뉴얼

Unity를 실행할 때 일반적으로 바탕 화면에서 아이콘을 더블클릭하여 시작하지만, 커맨드 라인(Mac OS 터미널 또는 Windows 커맨드 프롬프트)에서 실행할 수도 있습니다. 이렇게 시작하면 Unity가 시작

docs.unity3d.com

 

또는 https://waraccc.tistory.com/8

 

Command Line Reader 클래스

Jenkins 및 기타 등등으로 자동 빌드를 하기 위해서 필수적으로 들어가는 Command LineUnity에서도 Command Line을 지원해주고 있습니다. 근데 이걸 어느 컬럼에 써야 될지 난감하긴 하네요.... 주된 내용이

waraccc.tistory.com

이 블로그에선 좀 특이하게 작업했길래 가져왔다, 딕셔너리를 매 실행마다 생성하지 않고 private static으로 멤버변수로 저장하고 그 멤버변수를 리턴한다면 첫 실행만 생성해도 될 것이다