프로그래밍/Unity22 Unity 어셈블리 정의(Assembly Definition) 1. 어셈블리 정의의 개요 및 필요성Unity는 기본적으로 모든 사용자 스크립트를 Assembly-CSharp.dll이라는 단일 어셈블리에 컴파일한다이는 소규모 프로젝트에 적합하지만, 프로젝트 규모가 커질수록 다음과 같은 단점들이 발생한다스크립트 하나만 변경해도 전체 리컴파일 발생 → 작업 효율 저하모든 스크립트가 서로를 참조 가능 → 모듈화·캡슐화 어려움플랫폼별 구분 없음 → 모바일 등에서 불필요한 코드까지 컴파일됨이에 대한 해결책으로 Assembly Definition을 사용하는 방법이 있다. 사용으로 다음의 이점을 얻을 수 있다 코드 변경 범위 최소화 (재컴파일 단위 분리)관심사 분리, 명확한 의존성 관리코드 재사용성 증가, 테스트 효율 향상 2. 어셈블리 정의 파일의 구조와 생성.asmdef 파일.. 2025. 4. 5. Unity 프로젝트 디렉토리 정리 Best Practice 폴더 구조명명 규칙과 폴더 구조 문서화스타일 가이드 또는 프로젝트 템플릿을 만들어 팀원 모두가 일관되게 만든다일관성 있는 명명 규칙 유지변경이 필요할 경우 스크립트를 활용해 자산명을 일괄 수정공백 없는 이름 사용명령줄 도구 충돌 방지를 위해 CamelCase 사용 권장테스트/샌드박스 폴더 분리비프로덕션용 씬이나 실험용 씬은 별도의 폴더에 분리하며, 팀원별 하위 폴더 생성도 권장루트 폴더 최소화모든 콘텐츠는 Assets/ 폴더 내에 저장하고, 루트에 폴더 추가는 꼭 필요한 경우에만자체 제작 자산 vs 외부 자산 분리Asset Store 등에서 가져온 외부 자산은 ThirdParty/, Plugins/ 등으로 구분예시 폴더 구조 Unity Hub의 템플릿 및 스타터 프로젝트에서도 사용하는 구조 기타 팁빈 .. 2025. 4. 5. Unity UI 최적화 Unity UI를 최적화할 수 있는 방법에 대해 복습하고 기억하는 것이 목표인 글이다 캔버스 분할하기UI 캔버스에서 요소를 변경하면 캔버스 전체가 변경된 것으로 인식된다새로운 드로우콜이 발생하여, 메시 재생성으로 인한 연산의 낭비 발생최적화캔버스를 분할하기각 캔버스가 자체적으로 지오메트리를 유지하고 배칭을 수행요소들이 업데이트되는 시점에 따라 캔버스를 그룹화동적 요소와 정적 요소 분리 그래픽 레이캐스터(Graphic Raycaster) 최적화하기그래픽 레이캐스터는 입력 사항을 UI 이벤트로 변환하는 역할을 한다입력을 수신하는 UI 요소를 확인하고 교차 지점을 확인하는 과정에서 이벤트 발생최적화정적 요소나 비인터랙티브 요소에 대한 레이캐스트 타겟 비활성화로 검사 횟수 감소시키기 Camera.main 사용 .. 2025. 4. 2. Unity GC 최적화 1. 오브젝트 풀링생성/파괴는 많은 연산 비용이 든다. 그리고 Unity GameObject는 클래스이므로 생성될 때마다 힙 메모리에 할당된다따라서 풀링을 통해 힙 할당을 줄이고 GC 발생을 최소화 시켜야한다또한 풀링을 사용하면 미리 오브젝트를 만들어놓을 수 있어 메모리 사용량이 예측 가능해져서 프로파일링에도 도움이 된다 자세한 정보는 다음의 링크를 참고하자. 오브젝트 풀 개념, 오브젝트 풀 사용 예제 2. 문자열 연결시 StringBuilder 사용C#의 문자열은 불변타입이다. 따라서 새로운 문자열을 사용할 때마다 새로운 참조 타입 객체가 생성된다이 때 StringBuilder를 활용하여 문자열 연결을 수행하면 메모리 할당을 줄일 수 있다// Worstvoid Update(){ int score .. 2025. 4. 1. Unity 6 에디터 주요 변경점 1. 스크립트 관련 메뉴 변경점 기존 C# 스크립트 => MonoBehaviour Script로 변경 카테고리로 목적에 따라 생성할 스크립트를 분리 2. 레이어 위치 변경 기존의 Inspector에 있던 레이어 버튼이 Scene 패널 내부의 오버레이로 이동 3. 라이팅 위치 변경 기존에는 Lighting관련 작업을 하기 위해 복잡하게 찾아야 했다하지만 Edit 버튼을 통해 접근 가능하도록 단계 최소화 4. 부대지정 기능 추가 (Selection Group) 저장할 오브젝트 선택 후저장하기: Ctrl + Alt + 숫자키불러오기: Ctrl + Shift + 숫자키 5. Build Settings => Build Profile 패널 변경 각 플랫폼에 맞는 세팅을 매번 바꾸지 않을 수 있는 기능 추가Playe.. 2025. 3. 31. Unity R3 라이브러리 import(설치) 방법 R3에 대한 설명은 다음의 링크를 참고하자 R3는 Unity에서 사용할 때 두 단계 설치가 필요하다핵심 로직은 NuGetPackage를 통해 받아오고 Unity 확장을 Git을 통해 붙이는 구조다 1. NugetForUnity 설치 패키지 관리자 열기 좌상단 + 클릭, install package git URL.. 클릭 https://github.com/GlitchEnzo/NuGetForUnity.git?path=/src/NuGetForUnity URL 입력 후 install 클릭 설치 완료된 모습 2. R3 설치 진행 Unity 창 상단 중 NuGet => Manage NuGet Packages 클릭으로 창 팝업 R3 검색 후 설치 진행 Unity Package Manager => instal.. 2025. 3. 31. 이전 1 2 3 4 다음 반응형