Unity 및 Visual Studio 사용 모범 사례Best practices for working with Unity and Visual Studio

Unity를 사용 하 여 혼합 현실 응용 프로그램을 만드는 경우 앱 패키지를 빌드하고 HoloLens 헤드셋에 배포 하려면 Unity와 Visual Studio 사이를 전환 해야 합니다.When you're creating a mixed reality application with Unity, you need to switch between Unity and Visual Studio to build and deploy the app package to HoloLens or an immersive headset. 기본적으로 Visual Studio의 두 인스턴스는 Unity 스크립트를 수정 하 고 다른 하나는 장치에 배포 하 고 디버그 하는 데 필요 합니다.By default, two instances of Visual Studio are required - one instance to modify Unity scripts and another to deploy to the device and debug. 다음 지침에 따라 단일 Visual Studio 인스턴스를 사용 하 여 Unity 프로젝트를 내보내는 빈도를 줄이고 디버깅 환경을 향상 시킬 수 있습니다.The following instructions let you develop using a single Visual Studio instance, reducing the frequency of exporting Unity projects and improves the debugging experience.

반복 시간 향상Improving iteration time

Unity의 .NET scripting 백 엔드 지원은 Unity 2018에서 더 이상 사용 되지 않으며 Unity 2019 이상에서 제거 되었습니다.Support for .NET scripting back-end in Unity is being deprecated in Unity 2018 and removed in Unity 2019+. 따라서 IL2CPP로 전환 하는 것이 좋습니다.so we recommend you switch to IL2CPP. 그러나 Unity에서 Visual Studio로 빌드 시간이 길어질 수 있습니다.However, you may experience longer build times from Unity to Visual Studio. 더 빠른 반복을 위해 환경을 개선 하려면 최상의 컴파일 결과를 위해 환경을 설정 합니다.To improve for faster iteration, set up your environment for best compilation results:

  1. 매번 동일한 디렉터리에 프로젝트를 빌드하여 증분 빌드를 사용 하 여 미리 작성 된 파일을 다시 사용 합니다.Use incremental building by building your project to the same directory every time, reusing the pre-built files there
  2. 프로젝트에 대 한 맬웨어 방지 소프트웨어 검색 사용 안 함 & 빌드 폴더Disable anti-malware software scans for your project & build folders
    • Windows 10 설정 앱에서 바이러스 & 위협 방지 를 엽니다.Open Virus & threat protection under your Windows 10 settings app
    • 바이러스 & 위협 방지 설정 에서 설정 관리 를 선택 합니다.Select Manage Settings under Virus & threat protection settings
    • 제외 섹션에서 제외 추가 또는 제거 를 선택 합니다.Select Add or remove exclusions under the Exclusions section
    • 제외 추가 를 선택 하 고 Unity 프로젝트 코드 및 빌드 출력을 포함 하는 폴더를 선택 합니다.Select Add an exclusion and select the folder containing your Unity project code and build outputs
  3. 빌드에 SSD 사용Use an SSD for building

자세한 정보는 IL2CPP에 대 한 빌드 시간 최적화 를 검토 하세요.Review Optimizing Build Times for IL2CPP for more info. 또한 IL2CPP Scripting 백 엔드에서 디버깅을 검토 합니다.Also, review Debugging on IL2CPP Scripting Back-end.

Unityscriptanalyzer Visual Studio 확장을 설치 하는 것이 좋습니다.Consider installing the UnityScriptAnalyzer Visual Studio extension. 이 도구는 더 최적화 된 방식으로 작성할 수 있는 코드에 대 한 Unity c # 스크립트를 분석 합니다.This tool analyzes your Unity C# scripts for code that can be written in a more optimized manner.

Visual Studio Tools for UnityVisual Studio Tools for Unity

다운로드 Visual Studio Tools for UnityDownload Visual Studio Tools for Unity

Visual Studio Tools for Unity의 이점Benefits of Visual Studio Tools for Unity

  • 중단점을 배치 하 고 변수와 복잡 한 식을 평가 하 여 Visual Studio에서 Unity의 편집기 내 재생 모드를 디버그 합니다.Debug Unity in-editor play mode from Visual Studio by putting breakpoints, evaluating variables and complex expressions.
  • Unity 프로젝트 탐색기를 사용 하 여 Unity에서 표시 하는 것과 정확히 동일한 계층 구조를 사용 하 여 스크립트를 찾습니다.Use the Unity Project Explorer to find your script with the exact same hierarchy that Unity displays.
  • Visual Studio 내에서 직접 Unity 콘솔을 가져옵니다.Get the Unity console directly inside Visual Studio.
  • 마법사를 사용 하 여 신속 하 게 스크립트를 만들거나 탐색할 수 있습니다.Use wizards to quickly create or navigate to scripts.

간편한 조정을 위해 c # 클래스 변수 노출Expose C# class variables for easy tuning

클래스 변수를 노출 하는 방법에는 두 가지가 있습니다.There are two ways to expose class variables. [SerializeField] 특성을 전용 변수에 추가 하는 것이 좋습니다.The recommended way is to add the [SerializeField] attribute to your private variables. Serialize 된 필드는 편집기에서 액세스할 수 있지만 프로그래밍 방식으로 노출 되지는 않습니다.Serialized fields can be accessed from the editor but not programmatically exposed. 다른 옵션은 c # 클래스 변수를 공용으로 설정 하 여 편집기 UI에이를 노출 하는 것입니다.The other option is to make C# class variables public to expose them in the editor UI.

두 방법 모두 편집기에서 재생 하는 동안 변수를 쉽게 수정할 수 있습니다 .이는 상호 작용 정비공 속성을 튜닝 하는 데 특히 유용 합니다.Both approaches make it possible to easily tweak variables while playing in-editor, which is especially useful for tuning interaction mechanic properties.

Windows SDK 또는 Unity 업그레이드 후 UWP Visual Studio 솔루션 다시 생성Regenerate UWP Visual Studio solutions after Windows SDK or Unity upgrade

UWP Visual Studio 솔루션을 소스 제어에 체크 인 하면 새 Windows SDK 또는 Unity 엔진으로 업그레이드 한 후에 만료 될 수 있습니다.UWP Visual Studio solutions checked in to source control can get out-of-date after upgrading to a new Windows SDK or Unity engine. Unity에서 새 UWP 솔루션을 빌드하고 체크 인 된 솔루션에 대 한 차이점을 병합 하 여 오래 된 솔루션을 해결할 수 있습니다.You can resolve out-of-date solutions after by building a new UWP solution from Unity and merging differences into the checked-in solution.

텍스트 형식 자산을 사용 하 여 콘텐츠 변경 내용 비교Use text-format assets for easy comparison of content changes

자산을 텍스트 형식으로 저장 하면 Visual Studio에서 콘텐츠 변경 차이을 보다 쉽게 검토할 수 있습니다.Storing assets in text format makes it easier to review content change diffs in Visual Studio. 편집 > 프로젝트 설정 > 편집기 를 선택 하 여 자산을 텍스트 형식으로 저장 하 고, 강제로 텍스트 를 변경 하 여 자산 Serialization 모드를 변경할 수 있습니다.You can store assets in text format by selecting Edit > Project Settings > Editor and change Asset Serialization mode to Force Text. 그러나 텍스트 자산 파일 변경 내용을 병합 하는 것은 오류가 발생 하기 쉬우며 권장 되지 않으므로 소스 제어에서 단독 이진 체크 아웃을 사용 하도록 설정 하는 것이 좋습니다.However, merging text asset file changes is error-prone and not recommended, so consider enabling exclusive binary checkouts in your source control.

참조See also