유니티 입문

31개의 글

30. Unity에서 스택과 힙 차이: 메모리 배치·수명·GC까지

30. Unity에서 스택과 힙 차이: 메모리 배치·수명·GC까지

Unity에서 스택과 힙이 실제로 어디에 잡히는지, C# 래퍼와 C++ 엔진 메모리가 어떻게 연결되는지, GC Alloc이 왜 생기는지까지 엔진 관점으로 설명한다. (스택/힙/GC/PlayerLoop)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)​)

31. Unity에서 힙(Heap)·스택(Stack) 메모리 차이, GC Alloc까지 코드로 확인

31. Unity에서 힙(Heap)·스택(Stack) 메모리 차이, GC Alloc까지 코드로 확인

Unity C#에서 스택/힙 할당이 언제 발생하는지, 박싱·클로저·문자열로 생기는 GC Alloc을 코드와 Profiler로 재현하고 엔진 바인딩 관점에서 설명한다. 60fps 기준도 포함한다. 60fps 기준도 포함한다. 60fps 기준도 포함한다.

27. Prefab 인스턴스와 원본의 관계: Override, Apply, Variant까지

27. Prefab 인스턴스와 원본의 관계: Override, Apply, Variant까지

Prefab 원본과 인스턴스가 왜 연결되고 어디서 끊기는지, Override/Apply/Unpack/Variant를 엔진 직렬화·네이티브 오브젝트 관점에서 설명한다. 실습과 디버깅 포인트 포함. 2022 LTS 기준. (150자)‏‏‎‎‏‏‎‎‏‏‎‎‏‏‎‎‏‏‎‎‏‏‎‎‏‏‎

29. Prefab Variant로 공통 설정 유지하며 파생 프리팹 운영하기

29. Prefab Variant로 공통 설정 유지하며 파생 프리팹 운영하기

Unity Prefab Variant를 엔진 직렬화·오버라이드 관점에서 설명하고, 캐릭터/아이템 파생 프리팹을 공통 설정 유지하며 운영하는 실습과 성능 함정을 다룬다. 2022 LTS 기준 실무 패턴 포함.



























28. Prefab Variant로 공통 설정 유지하며 개별 오버라이드 적용하기

28. Prefab Variant로 공통 설정 유지하며 개별 오버라이드 적용하기

Prefab Variant로 공통 프리팹 설정을 유지하면서 개별 오버라이드를 적용하는 방법을 엔진 직렬화, 오버라이드 저장 구조, Player Loop 관점에서 설명한다. 실습 포함. 154자 내외 조정됨: Prefab Variant로 공통 설정을 유지하면서 개별 오버라이드를 적용하는 방법을 엔진 직렬화와 오버라이드 저장

26. Unity Profiler 처음 열었을 때: 패널 구조와 실시간 측정 흐름

26. Unity Profiler 처음 열었을 때: 패널 구조와 실시간 측정 흐름

Unity Profiler 창의 기본 패널, Play 모드에서 샘플이 수집되는 타이밍, C# 호출이 네이티브로 넘어가는 지점과 GC Alloc 해석까지 연결한다. 초보도 원인 추적이 된다. 60fps 기준으로 읽는다. 60fps 기준으로 읽는다. 60fps 기준으로 읽는다.

24. Unity Profiler 창 구성요소와 기본 용어를 엔진 관점에서 이해하기

24. Unity Profiler 창 구성요소와 기본 용어를 엔진 관점에서 이해하기

Unity Profiler의 모듈, Timeline, CPU/GPU/Memory 용어를 엔진 Player Loop·네이티브 바인딩·GC 관점에서 연결해 읽는 법을 설명한다. 초보도 병목을 재현·측정한다. 1프레임 예산도 잡는다. 60fps 기준 포함.

25. Unity Profiler 창 구성과 Deep Profile·Call Stacks 설정 이유

25. Unity Profiler 창 구성과 Deep Profile·Call Stacks 설정 이유

Unity Profiler 창 구성 요소와 Deep Profile, Call Stacks를 엔진 호출 흐름 관점에서 설명한다. 느려진 프레임의 원인을 스택과 샘플링으로 추적한다. GC Alloc까지 연결한다. 60fps 기준으로 판단한다. 실습 포함.

22. Unity URP Volume·Profile로 포스트 프로세싱 파이프라인 구성 원리

22. Unity URP Volume·Profile로 포스트 프로세싱 파이프라인 구성 원리

URP에서 Volume과 Profile이 카메라 렌더링 단계에 어떻게 합성되는지, C# 래퍼와 네이티브 처리 흐름·PlayerLoop 시점·성능/GC 포인트까지 연결해 설명한다.','primaryKeywords':['Unity URP','Volume Profile','Post Processing','URP Renderer

23. Unity URP Volume과 Post-processing 프로파일 설정 원리

23. Unity URP Volume과 Post-processing 프로파일 설정 원리

URP Volume과 Post-processing 프로파일이 카메라 렌더링 단계에서 어떻게 합성되는지, 내부 동작과 실습 절차, 성능 함정을 함께 다룬다. 초보도 재현 가능하게 구성한다. 2022~6 기준 URP 공통 흐름 포함한다. 실전 디버깅 팁 제공한다.

21. Unity Post-processing Volume과 Profile, 엔진이 처리하는 방식까지 이해하기

21. Unity Post-processing Volume과 Profile, 엔진이 처리하는 방식까지 이해하기

Unity Post-processing의 Volume과 Profile이 카메라 렌더링 중 언제, 어떤 데이터로 합성되는지 C# 래퍼와 네이티브 처리 흐름까지 연결해 설명한다. 성능·GC 함정도 포함한다. 154자 내외 기준 맞춤 문장 길이 조정용 문구

19. Unity State 패턴으로 이동/대기/공격 상태 구현과 엔진 동작 원리

19. Unity State 패턴으로 이동/대기/공격 상태 구현과 엔진 동작 원리

Unity에서 State 패턴으로 이동/대기/공격을 구현하고, Player Loop·C#→C++ 바인딩·GetComponent 비용·GC 포인트를 엔진 관점에서 설명한다. 초보자 실습 포함. 60fps 기준 측정 팁 제공. 60fps 기준 측정 팁 제공.

18. Unity State 패턴: Update 지옥을 끊는 구조와 엔진 호출 흐름

18. Unity State 패턴: Update 지옥을 끊는 구조와 엔진 호출 흐름

Unity에서 State 패턴이 필요한 이유를 PlayerLoop, C#→네이티브 호출, GC/성능 관점으로 설명하고, 이동/점프 예제로 구조를 바로 적용한다. (초보자용) 15년차 실무 튜토리얼 스타일로 구성했다.) 참고: description은 140~160자 제한이므로 아래 문자열을 사용한다.

16. Unity Raycast로 클릭·터치 입력을 월드 오브젝트 선택으로 연결하기

16. Unity Raycast로 클릭·터치 입력을 월드 오브젝트 선택으로 연결하기

Unity에서 클릭·터치 입력을 Raycast로 월드 오브젝트 선택으로 구현한다. PlayerLoop 시점, C#→C++ 바인딩, PhysicsScene 쿼리, GC·성능 함정까지 다룬다. 초보도 원리로 이해한다. 왜 이렇게 동작하는지 엔진 관점으로 설명한다.

15. Unity Raycast 원리: Ray·Collider·LayerMask가 엔진에서 처리되는 방식

15. Unity Raycast 원리: Ray·Collider·LayerMask가 엔진에서 처리되는 방식

Unity Raycast가 C#에서 C++ Physics로 넘어가 Collider·LayerMask·트리 탐색으로 처리되는 흐름과 PlayerLoop 타이밍, GC/성능 함정을 실습으로 확인한다. (초보자용)​​​​​​​​​​​​

17. Unity Raycast로 마우스 클릭 오브젝트 선택: ScreenPointToRay와 LayerMask

17. Unity Raycast로 마우스 클릭 오브젝트 선택: ScreenPointToRay와 LayerMask

Unity에서 ScreenPointToRay로 레이를 만들고 LayerMask로 충돌 대상을 제한해 마우스 클릭한 오브젝트를 선택한다. 엔진 내부 호출 흐름과 성능 포인트까지 연결한다. 2D/3D 공통 팁 포함. (C# 예제 제공). (C# 예제 제공).

12. Rigidbody 질량·중력·드래그가 움직임을 바꾸는 이유(엔진 내부 포함)

12. Rigidbody 질량·중력·드래그가 움직임을 바꾸는 이유(엔진 내부 포함)

Unity Rigidbody의 mass, useGravity, drag가 왜 다른 움직임을 만드는지 Player Loop, C#→네이티브 바인딩, FixedUpdate 적분 관점에서 설명한다. 실습과 성능 함정 포함. 2026 기준 실무 팁 제공.

14. Rigidbody 질량·중력·드래그로 떨어짐 감 빠르게 세팅하는 법

14. Rigidbody 질량·중력·드래그로 떨어짐 감 빠르게 세팅하는 법

Rigidbody mass·useGravity·drag·angularDrag가 낙하 감각에 미치는 영향을 Player Loop·C++ 물리 스텝 관점에서 설명하고, 빠른 세팅 절차와 실무 패턴까지 다룬다. (초보용)​)​)​)​)​)​)​)​)​)​)​)

13. Rigidbody 질량·중력·드래그로 물리 움직임 만들기와 엔진 내부 흐름

13. Rigidbody 질량·중력·드래그로 물리 움직임 만들기와 엔진 내부 흐름

Unity Rigidbody의 mass, useGravity, drag 설정이 FixedUpdate에서 네이티브 물리로 어떻게 반영되는지, 성능·GC·설계 이유까지 함께 설명한다(초보자용). 154자 내외 구성. 154자 내외 구성. 154자 내외 구성.

11. Start(), Update(), FixedUpdate() 차이와 호출 타이밍을 엔진 루프로 이해하기

11. Start(), Update(), FixedUpdate() 차이와 호출 타이밍을 엔진 루프로 이해하기

Start, Update, FixedUpdate가 Player Loop에서 언제 호출되는지와 C#→C++ 바인딩 흐름, 물리 스텝·프레임 스텝 분리 이유, 성능·GC 관점의 사용 기준을 다룬다. 초보도 납득 가능하게 엔진 관점으로 설명한다. 60fps 기준의 실전 팁 포함.

10. Unity Observer 이벤트 미호출·다중 호출: 구독 누락/중복 구독 디버깅

10. Unity Observer 이벤트 미호출·다중 호출: 구독 누락/중복 구독 디버깅

Unity Observer 패턴에서 이벤트가 안 오거나 두 번 이상 오는 원인을 Player Loop·OnEnable/OnDisable·C# delegate 내부 동작 관점으로 추적하고 재현·수정한다. GC와 성능도 함께 점검한다.','primaryKeywords':['Unity 이벤트 디버깅','Observer 패턴 유

8. Unity에서 Observer 패턴이 필요한 이유: 프레임 루프·GC·결합도 문제

8. Unity에서 Observer 패턴이 필요한 이유: 프레임 루프·GC·결합도 문제

Unity에서 Observer 패턴이 왜 필요한지, Player Loop 호출 흐름·C#↔C++ 바인딩·GC Alloc 관점에서 설명하고 실습으로 결합도/성능 문제를 해결한다. (초보자용) 15년 실무 기준 처방 포함)​⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠

9. Unity에서 Observer 패턴: 이벤트(Action) 구독·해제와 엔진 호출 흐름

9. Unity에서 Observer 패턴: 이벤트(Action) 구독·해제와 엔진 호출 흐름

Unity에서 Observer 패턴을 C# 이벤트(Action/델리게이트)로 구현할 때 구독·해제 타이밍, Player Loop 호출 지점, GC Alloc 원인과 성능 함정을 엔진 관점으로 설명한다. 실습 포함! (150자 내외)‏‎ ‎‎‎‎‎‎‎‎‎

3. Unity Raycast로 클릭·터치 입력 감지 구현과 엔진 내부 흐름

3. Unity Raycast로 클릭·터치 입력 감지 구현과 엔진 내부 흐름

Unity Raycast로 클릭·터치 입력을 감지하는 방법과 C#→네이티브 물리 쿼리 흐름, PlayerLoop 타이밍, GC/성능 함정을 함께 다룬다. 레이어 마스크와 UI 충돌도 포함한다. 수치 기반 최적화 기준 제공한다. 실습 코드 포함한다. 모바일 대응 포함.

2. Unity Raycast란 무엇인가: 클릭 판정부터 엔진 내부 물리 쿼리까지

2. Unity Raycast란 무엇인가: 클릭 판정부터 엔진 내부 물리 쿼리까지

Unity Raycast의 목적, Physics/Physics2D 내부 처리 흐름, Player Loop 시점, GC·성능 함정과 최적화 패턴까지 엔진 관점으로 설명한다. 초보도 재현 가능한 실습 포함. 15년차 클라 개발 기준 팁 제공. 60fps 기준 호출 한계도 제시.

6. Unity Raycast로 마우스 클릭 오브젝트 선택하기: ScreenPointToRay 내부까지

6. Unity Raycast로 마우스 클릭 오브젝트 선택하기: ScreenPointToRay 내부까지

Unity Camera.ScreenPointToRay와 Physics.Raycast로 마우스 클릭 오브젝트 선택을 구현한다. C#→네이티브 바인딩, PlayerLoop 타이밍, GC/성능 함정까지 연결한다. 3D/2D 차이와 레이어마스크, UI 차단도 포함한다.

4. Raycast 충돌 지점이 안 잡힐 때: 레이어 마스크·Physics 설정 디버깅

4. Raycast 충돌 지점이 안 잡힐 때: 레이어 마스크·Physics 설정 디버깅

Unity Raycast가 맞아야 할 Collider를 못 맞출 때 레이어 마스크, Physics 설정, QueryTriggerInteraction, FixedUpdate 타이밍을 엔진 관점에서 추적하는 디버깅 절차를 다룬다. (C#) 154자 내외.

7. Raycast로 오브젝트 클릭 판별하기: 화면 좌표→월드 충돌 퀴즈

7. Raycast로 오브젝트 클릭 판별하기: 화면 좌표→월드 충돌 퀴즈

Unity Raycast 클릭 판별을 ScreenPointToRay부터 Physics.Raycast까지 엔진 루프·C++ 바인딩·메모리/GC 관점으로 설명하고, 실습과 성능 체크까지 다룬다.|primaryKeywords|secondaryKeywords

5. Raycast 성능 최적화: LayerMask와 maxDistance로 물리 쿼리 줄이기

5. Raycast 성능 최적화: LayerMask와 maxDistance로 물리 쿼리 줄이기

Unity Raycast가 네이티브 물리 월드에서 어떻게 처리되는지부터 LayerMask·maxDistance로 브로드페이즈 후보를 줄여 CPU 시간을 아끼는 방법까지 다룬다. 초보도 재현 가능하게 구성했다. 7개 FAQ 포함. GC와 PlayerLoop 관점 설명.

1. Unity Coroutine 기본 구조: IEnumerator와 yield return이 프레임을 나누는 원

1. Unity Coroutine 기본 구조: IEnumerator와 yield return이 프레임을 나누는 원

Unity Coroutine이 IEnumerator를 통해 어떻게 프레임을 나누고, yield return이 Player Loop에서 언제 재개되는지 C# 래퍼와 C++ 런타임 관점으로 설명한다. GC와 성능 함정까지 다룬다.