Unity 스크립팅 API 가이드 (한국어)
매뉴얼 개요
Unity 스크립팅 API는 Unity 프로젝트에서 스크립트를 작성할 때 유용한 기능과 가이드를 제공합니다. 다양한 버전에 대한 정보를 포함하고 있으며, 이번 문서에서는 주요 개념과 활용 팁을 쉽게 설명합니다.
스크립팅 개념
네임스페이스
여러 스크립트가 포함된 대형 프로젝트에서 클래스 이름이 충돌하는 문제를 피할 수 있습니다. 예를 들어, 서로 다른 프로그래머가 동일한 이름의 클래스를 작성할 때, 이러한 충돌이 발생할 수 있습니다. 이 문제를 해결하기 위해 네임스페이스를 사용합니다.
예제
namespace Enemy {
public class Controller1 : MonoBehaviour {
// ...
}
public class Controller2 : MonoBehaviour {
// ...
}
}
이와 같이 클래스를 네임스페이스 안에 정의하면, Enemy.Controller1
과 Enemy.Controller2
로 구분할 수 있습니다.
네임스페이스 사용법
- using 지시어: 스크립트 상단에
using
구문을 추가하여 반복적으로 네임스페이스 접두사를 입력하지 않도록 설정할 수 있습니다.csharp using Enemy;
위와 같이 설정하면,Controller1
과Controller2
를 간편하게 사용할 수 있습니다. - 클래스 이름 충돌 방지: 서로 다른 네임스페이스에 같은 이름의 클래스가 있으면
using
지시어로 충돌할 수 있습니다. 이때 각각의 네임스페이스를 명시적으로 사용해야 합니다.
Unity의 제한 사항
네임스페이스 및 MonoBehaviour
또는 ScriptableObject
클래스에 대한 특정 제한이 있습니다. 하나의 파일에서 이러한 클래스를 여러 네임스페이스로 정의할 수 없기 때문에, 각각의 클래스는 별도의 파일에 있어야 합니다.
활용 및 응용 예제
1. 게임 캐릭터 컨트롤러
두 개의 서로 다른 캐릭터 컨트롤러를 만들기 위해 네임스페이스를 사용할 수 있습니다.
namespace Player {
public class PlayerController : MonoBehaviour {
// 플레이어 관련 코드
}
}
namespace Enemy {
public class EnemyController : MonoBehaviour {
// 적 캐릭터 관련 코드
}
}
2. UI 이벤트 관리
UI 이벤트를 관리하는 클래스를 각기 다른 네임스페이스에 위치시켜 충돌을 방지할 수 있습니다.
namespace UI {
public class ButtonManager : MonoBehaviour {
// 버튼 관리 코드
}
}
namespace Game {
public class GameUI : MonoBehaviour {
// 게임 UI 코드
}
}
3. 특수 기능 클래스
각각의 특수 기능을 가진 클래스를 정의하여 구조를 명확히 할 수 있습니다.
namespace Abilities {
public class FireAbility : MonoBehaviour {
// 화염 능력 관련 코드
}
public class WaterAbility : MonoBehaviour {
// 물 능력 관련 코드
}
}
결론
Unity에서 네임스페이스를 관리하고 활용하는 것은 스크립트 충돌 문제를 예방하는 데 매우 중요합니다. 이러한 기술을 활용하면 코드 구조를 명확히 할 수 있으며, 대형 프로젝트에서도 관리하기 쉽습니다.
이제 Unity에서 네임스페이스를 효과적으로 활용하여 깔끔한 코드 작성을 할 수 있기를 바랍니다!