일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 3d
- Cell Shader
- AppSW
- ColorGradingLutPass
- C언어
- 개인 바이트
- URP
- 작업 집합
- 벡터
- URP로 변경
- 프로그래밍 기초
- Specular
- Toon Shader
- Cartoon Rendering
- Three(Two) Tone Shading
- Private Bytes
- working set
- Windows Build
- Virtual Byte
- 메모리 누수
- ASW(Application SpaceWarp)
- 가상 바이트
- Rim Light
- VR
- 게임 수학
- OculusMotionVectorPass
- Cell Look
- Today
- Total
WinCNT
윈도우의 CMD(Command Prompt)로 Unity의 Editor 스크립트의 메소드 실행하기! 본문
윈도우의 CMD(Command Prompt)로 Unity의 Editor 스크립트의 메소드 실행하기!
WinCNT_SSS 2023. 9. 15. 10:54서론
이른바 커맨드 라인(macOS 터미널이나 Windows 커맨드 프롬프트 등)을 이용해서 유니티의 스크립트의 메소드를 실행하는 방법에 대해 조금 조사해봤다
지금 환경이 Windows니 커맨드 프롬프트(CMD)로 실행하는 방법을 조사했다
참고로 커맨드 라인으로 Unity를 실행하는 건 보통 테스트나 빌드 자동화를 구축할 때 사용되곤 하지만…지금은 이미 더 좋은 툴이 많아서 커맨드 라인만으로 구축하는 경우는 많이 없을 듯 하다
Unity 에디터 커맨드 라인 인자
이건 역시 공식 문서에 모든 게 나와있긴 하다😇
Unity 에디터 커맨드 라인 인자 - Unity 매뉴얼
모두 읽고 나서 제대로 작성해도 되지만, 일단 어떤 식으로 움직이는지 궁금하니 최소한도로 작성하고 사용해봤다
Editor폴더에 실행할 static 메소드 작성
다음과 같이 간단한 코드를 작성해봤다
using UnityEngine;
public class ExCommandPrompt
{
public static void PrintLog()
{
Debug.Log("Hello, Wolrd!");
}
}
여기서 중요한 것은 반드시 Editor폴더에 static으로 메소드를 작성해야 한다는 점이다
CMD 실행
CMD는 다음과 같이 작성했다
"C:\Program Files\Unity\Hub\Editor\<version>\Editor\Unity.exe" -batchmode -quit -logfile "로그 파일 패스(디렉토리 + 파일명)" -projectPath "실행할 프로젝트의 디렉토리" -executeMethod ExCommandPrompt.ExCommandPrompt
처음 패스의 <version>에는 프로젝트와 같은 버전의 Unity.exe가 있는 폴더를 설정해야 한다
틀리면 당연히 에러가 발생할 가능성이 매우 높다(필자는 틀려서 에러가 발생했다)
-batchmode는 배치 모드로 실행하라는 커맨드이고, -quit는 다른 커맨드 실행을 마친 후 Unity 에디터를 종료하라는 커맨드이다
-logfile는 로그 파일을 출력하라는 커맨드이며, 출력 패스를 지정할 수 있다
디렉토리는 생략도 가능하며, 생략하면 CMD를 실행한 디렉토리에 지정한 파일명의 로그 파일이 출력된다
-projectPath에는 실행할 프로젝트의 디렉토리를 지정한다
예를 들면 "C:\Users\유저명\Documents\GitHub\MyProject”
-executeMethod에는 위에서 작성한 스크립트의 클래스와 메소스를 지정한다
그 외에도 -nographics나 -buildTarget와 같은 키워드도 쓸까 했지만, 우선은 일단 이정도만 작성하기로 했다!
결과
CMD에서 실행하면 지정한 패스에 로그 파일이 출력된다
로그 파일을 확인하면 Debug.Log의 내용이 출력된 것을 확인할 수 있다!
마무리
처음에는 다른 버전의 Unity.exe를 지정해서 로그에 에러가 발생했다는 출력이 계속 나왔다
다음부턴 주의해야겠다…
참고 사이트
Unity 에디터 커맨드 라인 인자 - Unity 매뉴얼
'Unity > Unity 관련' 카테고리의 다른 글
CMD와 ADB로 유니티의 apk를 빌드하고 VR기기에서 실행해보기 (0) | 2023.10.04 |
---|---|
유니티에서 안드로이드 기기에 연결되어 있으면 Build And Run, 그렇지 않으면 Build만 하는 스크립트 만들어보기 (0) | 2023.09.21 |
유니티에서 빌드 직전, 직후에 실행되는 스크립트 작성하기!! (0) | 2023.08.25 |
Unity Assembly Definition를 설정해보기 (0) | 2023.08.21 |
유니티 간단 팁) 빌드 리포트(Build Report) 보는 법! (0) | 2023.08.08 |