이 25초짜리 영상에서 개발자는 AI 에이전트에게 "플레이어가 가끔 바닥을 뚫고 떨어집니다."라는 간단한 내용의 버그 보고서를 전달합니다. 에이전트는 Unity 명령어 eval을 사용합니다.<code> 실행 중인 장면을 검사하여 런타임에 비활성화된 콜라이더를 찾아 다시 활성화한 다음, 플레이 모드로 돌아가 수정 사항을 확인합니다. 실행 중인 게임을 관찰하고, 조치를 취하고, 콘솔 출력을 복사하여 붙여넣지 않고 결과를 직접 검증합니다.
Unity CLI를 만나보세요: 터미널에서 Unity 관리하세요

TL;DR
- 지금 바로 이용 가능 : Unity CLI 는 터미널에서 에디터, 모듈, 프로젝트 및 인증을 관리하고 상호 작용할 수 있는 독립 실행형 Unity 바이너리입니다. 사용자 인터페이스가 필요 없습니다. 명령줄을 통해 설치하세요.
- 자동화에 최적화되어 있습니다. 구조화된 JSON/TSV 출력, 명확한 종료 코드, 비대화형 설치, CI를 위한 서비스 계정 인증 기능을 제공합니다.
- 오늘 새롭게 추가된 기능으로는 실험적인 com.unity.pipeline 패키지가 있습니다. 이 패키지를 사용하면 CLI를 통해 로컬 API 거쳐 실행 중인 에디터 또는 개발 플레이어 빌드를 제어할 수 있습니다. [CliCommand] 속성을 사용하면 사용자 지정 명령을 노출할 수 있습니다.
- `unity command eval`은 실행 중인 에디터 또는 플레이어 내에서 C# 코드를 실시간으로 실행하고 결과를 반환합니다. 프로젝트 수준의 재컴파일이나 도메인 재로드는 필요하지 않습니다.
- 이 둘을 함께 사용하면 AI 에이전트가 Unity 운영할 수 있습니다. 즉, 실행 중인 프로젝트를 관찰하고, 그에 따라 조치를 취하고, 결과를 검증할 수 있습니다.
개발의 상당 부분이 터미널에서 이루어지고 있습니다. 스크립트, CI 환경, 그리고 점점 더 많은 경우 AI 에이전트를 통해서 말이죠. 오늘 Unity 그곳에서 여러분을 만납니다. Unity CLI를 사용하면 Unity 모든 기능을 터미널에서 활용할 수 있습니다. 하나의 바이너리로 에디터를 설치하고 관리하고, 스크립트에서 실행 중인 에디터를 제어하고, 재컴파일 없이 프로젝트 내에서 C# 코드를 직접 실행할 수도 있습니다. 단 하나의 빠르고 간편한 유니티 명령어로 모든 것이 해결되며, 각 단계는 이전 단계보다 더 심화된 기능을 제공합니다. CLI는 Unity 관리하고, Pipeline 패키지는 이를 구동하며, eval은 그 내부까지 접근합니다. CLI와 파이프라인 패키지 모두 오늘부터 이용 가능합니다.
본격적으로 살펴보기 전에, 이러한 기능들이 결합될 때 어떤 일이 가능한지 먼저 살펴보겠습니다.
Unity CLI란 무엇인가요?
CLI는 단일 독립 실행형 바이너리 파일로 제공됩니다. 설치해야 할 종속성이 없으며, 설치 과정에서 자동으로 PATH에 추가됩니다. unity 명령어로 실행하고, unity upgrade 명령어로 업데이트하면 됩니다. 편집기와 프로젝트 외에도 모듈과 인증까지 처리하므로 새 컴퓨터에는 다른 것이 필요하지 않습니다.
네이티브 바이너리이기 때문에 시작 속도가 빠릅니다. 반면 기존 Unity Hub 헤드리스 실행 방식( -- --headless )은 시작 시간이 눈에 띄게 더 오래 걸렸습니다. 이러한 격차는 스크립트나 상담원이 한 건의 업무에 대해 수십 건의 통화를 하면서 누적됩니다.
시작하기
사용하시는 플랫폼의 패키지 관리자를 이용하여 설치하세요.
# macOS or Linux
curl -fsSL https://public-cdn.cloud.unity3d.com/hub/prod/cli/install.sh | UNITY_CLI_CHANNEL=beta bash
# Windows
$env:UNITY_CLI_CHANNEL='beta'; irm https://public-cdn.cloud.unity3d.com/hub/prod/cli/install.ps1 | iex(메모: brew, winget, apt와 같은 표준 패키지 관리자 지원이 곧 제공될 예정입니다. (최신 정보는 CLI 설명서를 참조하십시오.)
이용 가능한 서비스를 살펴보세요:
unity --help필요한 모듈과 함께 에디터를 설치하는 것은 단 한 줄의 명령으로 완료됩니다.
unity install 6000.2.10f1 -m android ios webgl그 이후의 명령어는 예상대로 작동합니다. `unity editors`는 설치된 에디터를 확인하고, `unity open`은 올바른 에디터가 선택된 상태로 프로젝트를 실행하며, `unity auth login`은 로그인합니다. 특정 버전의 모듈 ID를 잘 모르시겠나요? `unity modules list 6000.2.10f1` 명령어를 사용하면 확인할 수 있습니다.
자동화를 위해 설계되었습니다
CLI는 단순히 대화형 셸이 아니라 자동화 시스템 내에서 작동하도록 설계되었습니다. 모든 명령은 구조화된 출력을 생성할 수 있으며, 이 출력을 도구로 바로 파이프라인할 수 있습니다.
unity editors --format json
unity editors --format tsv오류는 stderr 로, 결과는 stdout 으로 출력되며, 종료 코드는 간단한 규칙( 0: 성공, 1: 오류, 130: 취소)을 따르므로 파이프라인에서 실패를 쉽게 포착할 수 있습니다.
무인 설치를 하려면 모든 메시지를 건너뛰세요.
unity install 6000.2.10f1 -m android ios --accept-eula --yes헤드리스 빌드 에이전트에서는 환경 변수를 통해 서비스 계정으로 인증합니다. 브라우저도 필요 없고, 수동 작업도 필요 없습니다. Unity Doctor는 환경, 자격 증명 및 구성 문제를 진단합니다.
편집자와의 인터뷰
설치 관리는 전체 과정의 절반에 불과합니다. Unity CLI는 실행 중인 에디터를 제어할 수도 있습니다.
com.unity.pipeline을 프로젝트에 추가하면 실행 중인 에디터가 CLI에서 명령을 수신할 수 있으며, 이 모든 작업은 사용자의 컴퓨터에서 이루어집니다. 이 도구는 Unity 6.0 LTS 이상 버전에서 작동하며, 에디터를 스크립트, CI 작업 및 에이전트 도구를 위한 프로그래밍 가능한 자동화 대상으로 바꿔줍니다.
프로젝트에 추가하는 것은 단 하나의 명령으로 가능합니다.
unity pipeline installUnity Pipeline List 명령어를 사용하면 어떤 프로젝트에 Unity Pipeline이 설치되었는지 확인할 수 있습니다. 해당 패키지가 설치되면 터미널에서 연결된 에디터(또는 플레이어 런타임)에 대해 등록된 명령을 직접 실행할 수 있습니다.
# List the commands a connected Editor exposes
unity command
# Run one of them
unity command <command-name>해당 명령어들은 고정된 세트가 아닙니다. 프로젝트의 모든 정적 메서드는 매개변수에 [CliArg ]를 지정하고 [CliCommand ] 속성을 추가하면 정적 메서드가 됩니다.
using Unity.Pipeline.Commands;
using UnityEngine;
public static class MyPipelineCommands
{
[CliCommand("greet", "Log a greeting and return its length")]
public static int Greet(
[CliArg("name", "Who to greet", Required = true)] string name)
{
Debug.Log($"Hello, {name}!");
return name.Length;
}
}해당 패키지는 등록 과정 없이 자동으로 감지합니다. `unity command greet --name World` 명령어를 실행하면 연결된 에디터에 대해 해당 명령어가 실행되고 결과가 반환됩니다.
파이프라인 패키지가 오늘 출시되었습니다. 현재 실험 단계 이므로 앞으로 계속 발전할 것으로 예상됩니다. 이 기능을 사용하면 편집기에서 사람이 직접 수행해야 했던 작업(가져오기 트리거, 테스트 실행, 사용자 지정 도구 실행 등)을 자동화할 수 있습니다.
편집자에게만 그치는 것이 아닙니다. 런타임 구성 요소를 개발 빌드에 추가하면 실행 중인 게임에서 동일한 종류의 API 사용할 수 있습니다. `unity command --runtime ` 명령어를 사용하여 CLI에서 해당 플레이어를 가리키도록 설정하면 실시간 로그를 가져오거나, 런타임 상태를 조회하거나, 이미 실행 중인 빌드에서 코드를 핫 리로드할 수 있습니다. 이 기능은 로컬 호스트에서만 사용 가능하며 기본적으로 비활성화되어 있습니다(개발 및 QA 빌드용이며 프로덕션 환경에서는 절대 사용되지 않음). 하지만 이 기능을 사용하면 실행 중인 플레이어를 스크립트, 테스트 환경 또는 AI 에이전트가 실제 런타임 인스턴스 에서 제어할 수 있는 형태로 변환할 수 있습니다.
Unity CLI와 com.unity.pipeline을 통한 에디터 실행
eval을 사용하여 C# 스크립트를 실행합니다.
등록된 명령은 예상했던 작업을 포함합니다. unity command eval은 예상하지 못했던 작업을 포함합니다. 이 프로그램은 실행 중인 에디터 내에서 임의의 C# 표현식을 평가하고 결과를 터미널에서 프로젝트의 읽기-평가-출력 루프(REPL)로 반환합니다.
unity command eval "return Application.version;"
unity command eval "return UnityEditor.EditorApplication.isPlaying;"
unity command eval "var s = Application.dataPath; return s.Length;" --json
unity command eval_file "path/to/script.cs"이 프로그램은 Roslyn으로 컴파일되고 에디터의 메인 스레드에서 실행되므로 프로젝트에서 사용할 수 있는 모든 엔진 또는 에디터 API 에 접근할 수 있으며, 동일한 --runtime 플래그를 사용하면 라이브 플레이어를 대상으로 실행할 수 있습니다. 그 권력은 양방향으로 작용하기 때문에 평가는 보안 토큰을 통해 접근이 제한됩니다. 미리 정의된 명령도, 플러그인도, 재컴파일도 필요 없습니다. C#으로 질문을 표현할 수 있다면 실행 중인 Unity 인스턴스 질문을 할 수 있습니다.
장점은 속도입니다. 일반적인 변경 및 검사 주기(편집, 재컴파일, 재실행)는 아무리 빨라도 몇 초밖에 걸리지 않지만, eval은 이미 실행 중인 인스턴스 대상으로 밀리초 단위로 결과를 제공합니다. 스크립트나 상담원이 세션 중에 수행하는 수많은 통화에서 이러한 차이가 누적되며, 바로 이 점 때문에 AI 상담원은 느린 피드백 루프가 아닌 빠른 피드백 루프를 갖게 됩니다.

인공지능 기반 개발을 위한 토대
이러한 요소들(스크립트 가능한 CLI, 프로그래밍 가능한 에디터, 실시간 REPL)은 단순한 편의성 이상의 가치를 제공합니다. 이것들이 바로 이 게시물 상단의 데모를 가능하게 하는 요소이며, Unity AI 에이전트가 실제로 작동할 수 있는 환경으로 바꿔줍니다.
AI 코딩 도우미는 코드 작성과 콘텐츠 제작에 능숙합니다. 그들은 역사적으로 프로젝트 운영, 문제 파악, 재시도 등 그와 관련된 모든 것에 어려움을 겪어왔습니다. 어시스턴트는 게임플레이 스크립트를 생성할 수는 있지만, 스크립트가 제대로 작동하는지 확인하기 위한 테스트를 실행할 수는 없습니다. Unity CLI와 파이프라인 레이어가 그 격차를 해소합니다.
두 가지 요소가 차이를 만듭니다. 첫째, CLI는 에이전트가 이해하는 언어인 구조화된 JSON과 예측 가능한 종료 코드 계약을 사용합니다. 즉, 모델은 콘솔 텍스트를 그대로 가져오는 대신 깔끔하고 구문 분석 가능한 결과를 얻습니다. CI에서 신뢰성을 확보하는 동일한 특성 덕분에 상담원이 호출하는 도구로서도 신뢰성을 확보할 수 있습니다.
둘째, Pipeline 패키지를 사용하면 에디터가 자체적으로 설명 가능한 기능을 갖게 됩니다. 인자 없이 Unity 명령어를 실행하면 연결된 에디터가 노출하는 작업들을 보고합니다. 에이전트는 하드코딩된 목록에 의존하는 대신 런타임에 자신이 할 수 있는 일을 스스로 찾아냅니다. 명령어가 간단한 속성으로 등록되기 때문에 팀은 프로젝트별 작업을 에이전트에서 호출 가능한 도구로 노출할 수 있습니다. 이는 등록된 각 명령이 에이전트가 이미 사용법을 알고 있는 도구 유형에 자연스럽게 매핑된다는 것을 의미합니다.
이 모든 것을 결합하면 진정한 피드백 루프가 만들어집니다. 어시스턴트가 프로젝트를 열고, 변경 사항을 적용하고, 테스트를 실행하고, 플레이 모드로 들어가 동작을 확인하고, 결과를 읽고, 다음에 무엇을 할지 결정할 수 있으며, 사람이 출력을 주고받을 필요가 없습니다. 이는 단순히 제안만 하는 보조 기능에서 검증 까지 가능한 보조 기능으로의 전환을 의미합니다. 또한 이는 새로운 에이전트 표준에 자연스럽게 부합합니다. 등록된 각 명령은 함수 호출 모델이나 MCP 서버가 이미 호출 방법을 알고 있는 도구 유형에 매핑됩니다.
그리고 에이전트가 할 수 있는 일에 대한 정해진 목록은 없습니다. eval은 프로젝트에서 호출할 수 있는 모든 API 에 접근할 수 있기 때문에 에이전트의 기능 범위는 Unity와 동일합니다. 즉, 렌더링, 물리, 애니메이션, 에셋 데이터베이스, 에디터 자체, 그리고 사용자가 작성한 코드가 추가하는 모든 기능을 포함합니다. 그러한 도달 범위는 10년 이상에 걸친 API 개발의 결과이며, 상담원은 별도의 통합 작업 없이 이를 이용할 수 있습니다.

우리는 이 시대의 시작점에 서 있으며, 기본적인 요소들은 이미 오늘날 여기에 존재합니다. Unity 용 AI 지원 도구를 개발하는 경우 Pipeline 패키지부터 시작하는 것이 좋습니다.
이것이 유니티의 AI 제품과 어떤 관련이 있나요?
Unity의 AI 기능(예: 에디터 내 어시스턴트 모음)을 사용하는 경우, 이것이 바로 그 기능의 하위 계층입니다. 유니티의 AI는 프로젝트에 대해 추론하고 무엇을 해야 할지 결정하는 부분입니다. CLI와 Pipeline 패키지는 이러한 결정을 실행하는 실행 인터페이스입니다. 빠르고, 로컬에서 실행되며, 토큰 기반으로 작동합니다. 유니티 자체 툴링이 MCP 서버를 통해 라우팅하든, 타사 어시스턴트를 사용하든, 직접 작성한 스크립트를 사용하든, 모든 에이전트가 동일한 인터페이스를 이용할 수 있습니다. 유니티의 AI는 해당 기술의 한 소비자일 뿐, 그 기술을 대체하는 것이 아닙니다.
지금 이용 가능
Unity CLI는 여기에 있습니다. 설치하고 `unity --help`를 실행한 다음, 다음 빌드 스크립트나 CI 작업에 통합하거나 에이전트를 사용하여 자동화하세요. 문서에는 전체 명령어 참조가 포함되어 있습니다. 여러분이 만든 것을 알려주세요. 여러분의 피드백은 앞으로의 방향을 결정하는 데 도움이 됩니다.
면책 조항: 이 로드맵은 유니티가 현재 구상하고 있는 제품군 개발 계획을 나타냅니다. 본 내용은 정보 제공 목적으로만 제공되며 특정한 기능이 개발된다는 사실을 보장하지 않습니다. 제공된 정보는 언제든지 변경될 수 있으며, 유니티에서는 향후 릴리스의 콘텐츠, 시기, 특징 등에 대해 어떠한 보증도 하지 않습니다. 유저. '광고 지면'의 타겟 고객 비즈니스에 중요한 결정을 내릴 때 이 로드맵에 의존해서는 안 됩니다.