Unity 개발 환경을 더 빠르고 쾌적하게 만들기 위한 가져오기, 재생, 빌드 및 Windows 설정 메모입니다.
» VR 개발 메모 목차로 최종 업데이트: 2026년 08월 02일
기사 작성일: 2022년 02월 16일 쾌적한 Unity 생활을 위한 메모입니다. 의외로 여러 가지가 있어서 잊어버릴 것 같아 정리해 보았습니다.
(2026년 8월 2일) 「Windows에서 Unity를 쾌적하게 사용하고 싶다」를 추가하고 전체 구성을 재검토
Unity Accelerator를 사용하면 에셋 변환을 PC에 캐시하여, 같은 에셋을 두 번째 이후에 가져올 때 변환 처리를 생략할 수 있습니다. 예를 들어 같은 템플릿으로 새 프로젝트를 만들었을 때의 가져오기가 빨라집니다.
Preferences의 Asset Pipeline > Compress Assets on Import를 끄면 에셋 변환을 가져올 때가 아니라 빌드할 때 필요해진 시점에 실행하게 됩니다.
단점으로는 인스펙터에서 텍스처 압축 후의 파일 크기를 확인할 수 없게 되므로, 그런 경우에는 일시적으로 다시 켭니다.
기본 상태의 Windows에는 macOS와 비교해 Unity 동작을 느리게 만드는 요인이 여럿 있습니다. 아래 항목을 전반적으로 확인해 보세요.
Windows 기본 바이러스 검사 때문에 프로젝트를 열거나 빌드하는 작업이 느려지기 쉽습니다. 「Windows 보안」의 바이러스 및 위협 방지 > 설정 관리 > 제외에서 프로젝트 폴더와 Unity 관련 폴더를 검사 대상에서 제외합니다.
Unity Technologies의 검증에서는 새로 설치한 Windows 10에서 Windows Defender를 비활성화한 뒤 빌드 시간이 50 – 66% 감소했습니다.
Windows판 Unity에는 Directory Monitoring이라는 OS 기능을 사용해 파일 변경을 감시하는 기능이 있지만, 이 기능 때문에 프로젝트를 열 때 긴 대기 시간이 발생하거나 경우에 따라 프로젝트가 전혀 열리지 않게 될 수 있습니다. 이 스레드에서 화제가 되고 있습니다.
비활성화하려면 Preferences > Asset Pipeline > Directory Monitoring을 끕니다.
또한 꺼도 Auto Refresh 설정에 따라 프로젝트 내 파일 변경은 계속 반영됩니다(macOS와 같은 동작이 됩니다).
Windows 11에는 개발자 드라이브(Dev Drive)라는 기능이 있습니다. Visual Studio 빌드, Node.js 프로젝트, Git 작업 등의 파일 접근이 빨라집니다. PC나 SSD를 구입했다면 가장 먼저 하는 것을 권장합니다.
최근 Windows 11에 탑재된 스마트 앱 컨트롤로 인해 프로젝트가 정상적으로 열리지 않을 수 있습니다. Windows 설정에서 「스마트 앱 컨트롤」 페이지를 열어 끄세요.
Windows PC는 하드웨어 구성이 제각각이므로 BIOS나 드라이버 등의 영향이 나타나기 쉽습니다. 특히 조립 PC에서 이상하다고 느껴지면 전반적으로 점검해 보세요. 제가 경험한 사례 중에는 「SSD 펌웨어」라는 사각지대가 있었습니다.
Project Settings > Editor > Enter Play Mode Options를 켜고 도메인 리로드와 씬 리로드를 비활성화하면 매우 빠르게 재생을 시작할 수 있습니다(다음에서 설명하는 Editor Iteration Profiler에 표시되는 긴 도메인 리로드 부분이 통째로 사라집니다).
주의할 점은 도메인 리로드를 비활성화하면 static 변수와 static 이벤트 핸들러가 초기화되지 않는다는 것입니다. 예를 들어 아래와 같은 스크립트가 있다면 재생할 때마다 표시되는 숫자가 증가하게 됩니다. 이로 인해 기존 코드에서 오류가 나거나 예측할 수 없는 동작이 발생할 수 있습니다.
using UnityEngine;
public class DomainReloadingTest : MonoBehaviour
{
static int count = 0;
void Awake()
{
Debug.Log(count);
count++;
}
}
대책으로 static 변수를 사용하지 않거나, 아래처럼 static 변수를 초기화하는 코드를 추가합니다.
using UnityEngine;
public class DomainReloadingTest : MonoBehaviour
{
static int count = 0;
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]
static void Init()
{
count = 0;
}
void Awake()
{
Debug.Log(count);
count++;
}
}
자세한 내용은 「Unity - Manual: Domain Reloading」 및 아래 페이지를 참고하세요.
Asset Store의 에셋이나 패키지 스크립트가 도메인 리로드 비활성화를 지원하지 않아 정상적으로 동작하지 않을 수 있습니다. 프로젝트를 만든 뒤 가능한 한 이른 단계부터 도메인 리로드를 비활성화해 두면 문제를 조기에 발견할 수 있으므로 권장합니다.
프로젝트 고유의 문제가 있을 때는 아래 도구로 조사할 수 있습니다.
Editor Iteration Profiler는 Unity 공식 패키지로, 컴파일할 때나 에디터를 재생·정지할 때 어떤 이유로 대기 시간이 발생하는지 확인할 수 있습니다.
사용하려면 Package Manager 창 왼쪽 위에서 Add package from git URL…을 선택하여 https://github.com/Unity-Technologies/com.unity.editoriterationprofiler.git를 입력해 설치하고, Window > Analysis > Editor Iteration Profiler > Show Window에서 창을 연 뒤 왼쪽 위의 Enable을 켭니다.
트리 내부를 살펴보면, 예를 들어 [InitializeOnLoad] 메서드에서 긴 처리가 매번 실행되고 있었다는 등의 사실을 발견할 수 있습니다.
Window > Analysis > Import Activity에서 가져온 에셋, 개별 에셋을 가져오는 데 걸린 시간, 의존성이 많은 에셋 등을 목록으로 표시할 수 있습니다.

Compilation Visualizer for Unity는 어셈블리별 컴파일 소요 시간을 그래픽으로 표시하는 오픈 소스 소프트웨어입니다.
사용하려면 Project Settings > Package Manager > Scoped Registries에 아래 항목을 추가하고 Package Manager의 My Registries에서 설치합니다.
Window > Analysis > Compilation Timeline을 열면 컴파일 시간 그래프가 표시됩니다. 어셈블리를 선택하면 어셈블리의 의존 관계도 확인할 수 있습니다.
Project Settings > Editor > Pararllel Import를 켜면 멀티스레드로 에셋을 가져올 수 있습니다(Preferences가 아니라 Project Settings인 점은 의문이지만요……).
Build Settings의 Asset Import Overrides에서 Texture Compression을 Force Fast Compressor로 설정하면 텍스처 가져오기가 압축 속도 우선이 됩니다. 릴리스할 때는 원래대로 되돌려야 합니다.
Force Uncompressed로 설정하면 애초에 압축을 하지 않습니다. 많은 에셋을 빠르게 시험하고 싶을 때 가져오기가 매우 빨라집니다.
Unity 2021.2에서는 IL2CPP가 빨라졌지만, Build Settings의 IL2CPP Code Generation을 「Faster (smaller) builds」로 설정하면 두 배 정도 더 빨라집니다. 실행 속도가 어느 정도 느려지므로(제대로 측정하지는 않았지만 수십 퍼센트 정도일까요?) 주의해야 합니다.
Unity 2022.1에서는 설정이 Bulid Settings > Player 안으로 이동한 듯합니다.
빌드 중 진행 표시줄에서 하나의 셰이더에 수천 개의 variant가 컴파일되고 있다면, 아마도 조합 폭발이 발생하고 있는 것입니다. 「Unity 셰이더 메모」의 「셰이더 컴파일 시간을 줄이고 싶다」를 참고해 보세요.
Development Build에서 스크립트만 빌드하는 Scripts Only Build 옵션이 있었지만, Unity 2021.3 무렵부터 이 옵션은 사라졌으며 씬이나 에셋에 변경이 없으면 자동으로 스크립트만 빌드하게 되었습니다.
BuildPlayerOptions에 BuildOptions.Development와 BuildOptions.BuildScriptsOnly를 지정하면 강제로 스크립트만 빌드하게 됩니다.
Publishing Settings의 Compression Format이 Brotli이면 출력 크기가 Gzip의 약 4분의 3이 되지만 압축에 매우 긴 시간이 걸립니다. 개발 중에는 Gzip으로 두는 편이 좋아 보입니다. Decompressed로 설정하면 조금 더 빨라집니다(단, 출력 크기는 매우 커집니다).
「IL2CPP 빌드를 빠르게 하고 싶다」도 참고하세요.
Progressive GPU로 변경하거나 Lightmap Resolution을 낮추는 등의 방법으로 더 빠르게 베이킹할 수 있습니다. 자세한 내용은 「Unity 라이트맵 베이킹 메모」를 참고하세요.
빠른 PC를 사용하면 모든 것이 빨라지고 분명 작업 진척도 좋아집니다. Geekbench Browser에서 CPU 모델명을 검색해 싱글 코어와 멀티 코어 점수를 확인·비교해 보면 좋겠습니다. 싱글 코어 점수가 높으면 일상적인 작업이, 멀티 코어 점수가 높으면 빌드와 셰이더 컴파일이 빨라집니다. 최근에는 Apple Silicon Mac이 빠르고 쾌적하네요.