MonoBehaviour : 유니티에서 모든 스크립트의 기본이 되는 클래스 └ 이 클래스를 상속해야 유니티 엔진이 해당 스크립트를 인식하고 오브젝트의 행동을 제어할 수 있다.
Attribute : 코드나 변수에 의도, 조건 , 메타데이터를 부여하는 주석형 명령어
Coroutine : 일정 시간이나 조건에 따라 실행을 잠시 멈췄다가 재개하는 함수 구조이다.
IEnumerable : foreach 구문으로 순회 가능한 열거형 데이터 컬렉션의 기본 인터페이스
IEnumerator : 실행을 중단하고 다시 이어갈 수 있는 반복 제어용 인터페이스
📂라이프사이클
Awake : 오브젝트가 생성될 때자기 자신 준비 ( 컴포넌트 캐싱 , 싱글톤 설정 )
OnEnable : 오브젝트가 활성화될 때이벤트 구독 / 초기 상태 세팅
Start : 첫 프레임 전에 한 번 ,다른 오브젝트까지 모두 준비된 뒤 초기화
Update : 매 프레임마다입력 , 로직 , 타이머 등 일반 실행
FixedUpdate : 고정 시간마다물리 연산 / 이동 처리
LateUpdate : 모든 Update 이후카메라 추적 , 위치 보정 등 후처리
OnDisable : 오브젝트가 비활성화될 때이벤트 해제 , 코루틴 정리
OnDestroy : 오브젝트가 파괴될 때최종 정리 및 리소스 해제
📂게임오브젝트 ( GameObject )
GameObject : 유니티 내에서 모든 오브젝트 기본 단위, 컴포넌트의 부모가 되는 기본 단위 객체
Component : 오브젝트에 기능을 부여하는 스크립트나 시스템 요소
Tag : 특정 오브젝트들을 분류하기 위한 문자열 라벨
Layer : 물리 충돌 , 카메라 렌더링 등에서 그룹을 구분하기 위한 시스템 분류
Prefab : 오브젝트의 구조와 설정을 저장해두는 템플릿 형태의 파일
Clone : Instantiate( ) 로 생성된 프리팹 복제본 , 런타임 중 동적으로 생성되는 객체
📂컴포넌트 / 렌더링
Component : 모든 기능의 기본 단위 , 게임 오브젝트에 기능을 부여하는 모듈형 기능 단위
Transform : 오브젝트의 위치 ( position ) , 회전 ( Rotation ) , 크기 ( Scale ) 정보를 관리하는 컴포넌트 └ 모든 GameObject 는 반드시 하나의 Transform 을 가진다. └ 다른 스크립트에서 위치 변경할 때 transform.position 등을 자주 사용.
MeshRenderer : 오브젝트의 모델을 화면에 표시하는 시각화 담당 컴포넌트
Collider : 오브젝트의 충돌 범위 ( 물리적 형태 ) 를 정의하는 컴포넌트
Rigidbody : 유니티의 물리 엔진과 상호작용하도록 하는 물리 기반 컴포넌트
📂리소스 / 데이터
Scene : 게임의 한 단위 공간을 나타내는 파일로 , 여러 오브젝트들이 배치된 환경 └ ( 게임의 한 구역을 담당하는 무대 )
Asset : 프로젝트 내에서 사용하는 모든 리소스 ( 모델 , 사운드 , 스크립트 등 )
Material : 오브젝트의 표면 질감 , 색상 , 반사광 , 투명도 등을 정의하는 리소스 파일 └ MeshRenderer 나 SpriteRenderer 같은 컴포넌트에 적용된다.
Shader : 오브젝트의 빛 , 색상 , 질감 표현 방식을 계산하는 그래픽용 프로그램
Metadata : 에셋의 설정이나 상태를 저장하는 .meta 파일 , Unity 가 에셋을 식별하고 관리할 때 사용
Sprite: 2D 게임에서 사용하는 이미지 ( 텍스처 ) 단위의 시각 리소스
ScriptableObject: 코드로 만든 데이터 자산 ( Asset ) , 씬 밖에서도 재사용 가능한 데이터 전용 자산 클래스 └ 몬스터 능력치 , 아이템 정보 , 게임 설정값 등 여러 오브젝트가 공유해야 하는 데이터를 보관할 때 유용 └ MonoBehaviour 처럼 씬에 존재하지 않고 , 파일 형태로 존재한다.
📂에디터 / 유틸리티
Inspector : 선택된 오브젝트의 속성과 컴포넌트를 편집하는 창 └ Transform , Renderer , Collider , Script 등 컴포넌트 단위의 설정을 직접 조정할 수 있다.
Hierarchy : 씬 안의 모든 오브젝트 구조를 계층 ( Tree ) 형태로 관리하는 창 └ 부모 - 자식 관계를 트리 형태로 보여주며 , 오브젝트를 생성 / 삭제 / 정렬할 수 있다.
Project : 프로젝트의 모든 리소스 자산을 관리하는 파일 탐색기 창
Console : 로그 , 경고 , 오류 메세지를 출력하는 디버깅 창
Scene View : 오브젝트를 배치하고 구성하는 개발자용 3D 편집 공간
Game View : 카메라 시점으로 실제 게임 화면을 미리 보는 창
📂물리 및 충돌
Collider: 오브젝트의 충돌 범위 ( 물리적 형태 ) 를 정의하는 컴포넌트
Rigidbody: 유니티의 물리 엔진과 상호작용하도록 하는물리 기반 컴포넌트
Physics: 충돌 , 중력 , 광선 검사 등 물리 연산을 관리하는 전역 시스템 클래스 └ Rigidbody 나 Collider 가 실제 물리 연산을 담당하지만 , Physics 클래스는 전체 물리 환경의 규칙을 정의
📂입력 및 UI
Input : 사용자의 키보드 , 마우스 , 터치 입력을 감지하는 입력 시스템 클래스
EventSystem : UI 의 클릭 , 선택 등 상호작용을 중앙에서 관리하는 시스템 객체 └ 씬에 하나만 존재하며 , UI 이벤트를 감지하고 전달하는 역할
Canvas : 모든 UI 요소를 배치하고 렌더링하는 화면상의 루트 컨테이너 └ 모든 UI 요소 ( Button , Image , Text 등 )가 표시되는 루트 영역 ( 화면 공간 )
📂트랜스폼 ( Transform )
Translate( ) : 지정한 방향으로 이동 └ transform.Translate(Vector3.forward * speed * Time.deltaTime)
Rotate( ) : 지정한 축으로 회전 └ transform.Rotate(Vector3.up * 90 * Time.deltaTime)
LookAt( ): 지정한 대상 방향으로 회전 └ transform.LookAt(target)