Study Notes
Unity C# Attributes Guide
Unity에서 자주 보는 [] 문법을 한 번에 정리한 문서
[SerializeField], [System.Serializable], [MenuItem], [CreateAssetMenu]처럼
Unity와 C#에서 사용하는 어트리뷰트를 목적별로 정리했습니다.
처음에는 치트시트로 감을 잡고, 이후 전체 문서와 예제로 넘어가는 흐름을 추천합니다.
SerializeField
System.Serializable
MenuItem
CreateAssetMenu
CustomEditor
RuntimeInitializeOnLoadMethod
바로 보기
빠른 치트시트
하고 싶은 일에서 바로 떠올릴 어트리뷰트를 찾습니다.
헷갈리는 조합
SerializeField와 Serializable처럼 역할이 비슷해 보이는 것들을 비교합니다.
실전 예제
ScriptableObject, MenuItem, CustomEditor 등을 실제 코드 흐름으로 봅니다.
전체 문서
원본 Markdown 기반 전체 어트리뷰트 정리 문서를 읽습니다.
추천 학습 순서
- 기본 개념: 어트리뷰트가 “코드에 붙이는 메타데이터”라는 점부터 이해합니다.
- Inspector와 직렬화:
[SerializeField],[System.Serializable],[Header],[Tooltip]을 먼저 봅니다. - 컴포넌트 제약:
[RequireComponent],[DisallowMultipleComponent]로 GameObject 구성 규칙을 익힙니다. - ScriptableObject:
[CreateAssetMenu]로 데이터 에셋 생성 흐름을 익힙니다. - 에디터 확장:
[MenuItem],[ContextMenu],[CustomEditor],[CustomPropertyDrawer]를 봅니다. - 고급 주제:
[SerializeReference],[Preserve], 테스트/NUnit, UI Toolkit 관련 어트리뷰트로 확장합니다.
문서 구성 기준
이 사이트는 어트리뷰트를 단순 나열하지 않고 다음 기준으로 정리합니다.
| 기준 | 설명 |
|---|---|
| 어디에 붙이는가 | class, field, method, assembly 등 적용 위치를 구분합니다. |
| 무엇을 바꾸는가 | Inspector 표시, 직렬화, 실행 시점, 에디터 메뉴, 테스트 등 효과를 구분합니다. |
| 언제 쓰는가 | 실무에서 사용하기 좋은 상황과 주의점을 함께 봅니다. |
| 무엇과 헷갈리는가 | 이름이 비슷하거나 결과가 비슷해 보이는 어트리뷰트를 비교합니다. |
저장소에 올린 뒤 할 일
- GitHub 저장소에 이 프로젝트 파일을 업로드합니다.
- 저장소의
Settings→Pages로 이동합니다. - Source를
Deploy from a branch로 선택합니다. - Branch는
main, Folder는/docs로 선택합니다. - 배포 주소가 나오면 접속해서 CSS와 링크가 정상인지 확인합니다.
CSS나 JS가 깨지면
docs/_config.yml의baseurl값을 저장소 이름에 맞게 수정하세요.