Study Notes

Unity C# Attributes Guide

Unity에서 자주 보는 [] 문법을 한 번에 정리한 문서

[SerializeField], [System.Serializable], [MenuItem], [CreateAssetMenu]처럼 Unity와 C#에서 사용하는 어트리뷰트를 목적별로 정리했습니다. 처음에는 치트시트로 감을 잡고, 이후 전체 문서와 예제로 넘어가는 흐름을 추천합니다.

SerializeField System.Serializable MenuItem CreateAssetMenu CustomEditor RuntimeInitializeOnLoadMethod

바로 보기

추천 학습 순서

  1. 기본 개념: 어트리뷰트가 “코드에 붙이는 메타데이터”라는 점부터 이해합니다.
  2. Inspector와 직렬화: [SerializeField], [System.Serializable], [Header], [Tooltip]을 먼저 봅니다.
  3. 컴포넌트 제약: [RequireComponent], [DisallowMultipleComponent]로 GameObject 구성 규칙을 익힙니다.
  4. ScriptableObject: [CreateAssetMenu]로 데이터 에셋 생성 흐름을 익힙니다.
  5. 에디터 확장: [MenuItem], [ContextMenu], [CustomEditor], [CustomPropertyDrawer]를 봅니다.
  6. 고급 주제: [SerializeReference], [Preserve], 테스트/NUnit, UI Toolkit 관련 어트리뷰트로 확장합니다.

문서 구성 기준

이 사이트는 어트리뷰트를 단순 나열하지 않고 다음 기준으로 정리합니다.

기준 설명
어디에 붙이는가 class, field, method, assembly 등 적용 위치를 구분합니다.
무엇을 바꾸는가 Inspector 표시, 직렬화, 실행 시점, 에디터 메뉴, 테스트 등 효과를 구분합니다.
언제 쓰는가 실무에서 사용하기 좋은 상황과 주의점을 함께 봅니다.
무엇과 헷갈리는가 이름이 비슷하거나 결과가 비슷해 보이는 어트리뷰트를 비교합니다.

저장소에 올린 뒤 할 일

  1. GitHub 저장소에 이 프로젝트 파일을 업로드합니다.
  2. 저장소의 SettingsPages로 이동합니다.
  3. Source를 Deploy from a branch로 선택합니다.
  4. Branch는 main, Folder는 /docs로 선택합니다.
  5. 배포 주소가 나오면 접속해서 CSS와 링크가 정상인지 확인합니다.

CSS나 JS가 깨지면 docs/_config.ymlbaseurl 값을 저장소 이름에 맞게 수정하세요.