UnityEditor 네임스페이스를 사용할 때 주의할 점

 

 

 

유니티 엔진에는 유용한 기능이 아주 많지만, 그 모든 기능을 제작자가 필요로 하지는 않는다. 그와 마찬가지로 제작자가 필요로 하는 기능이지만 유니티 엔진에서는 제공하지 않을 수도 있다. 그럴 때에는 원하는 기능을 제작자가 직접 만들어내야 하는데, 그와 관련해서 가장 큰 도움을 주는 것들이 담겨 있는 것이 바로 UnityEditor 네임스페이스(namespace)이다. 여기에는 편리한 기능들이 상당히 많이 담겨 있지만 이 네임스페이스를 사용하기 위해서는 주의할 점들이 몇 가지 존재한다.

 

우선은 이 네임스페이스들의 기능들을 인게임의 기능에서는 사용하면 안된다는 것이다. UnityEditor 네임스페이스에는 찾아보면 쓸만한 기능이 몇 가지 있기 때문에 가끔 이 네임스페이스 안에 존재하는 기능들을 이용해서 인게임의 기능을 구현하려고 하는 사람들이 있다. 하지만 UnityEditor에서 제공하는 기능들은 철저하게 유니티 에디터를 사용자가 원하는 대로 커스터마이즈(Customizie)하는 것을 돕기 위해 지원되는 것으로 인게임에서 동작하는 코드에 집어넣고 게임을 빌드하려고 하면 유니티 에디터는 에러를 출력하고 빌드를 정지할 것이다.

 

두 번째로 주의할 점은, 이 UnityEditor 네임스페이스를 사용하기 위해서 using namespace UnityEditor; 선언을 한 스크립트는 Project 뷰에서 Editor 폴더 내에 모두 넣어두어야 한다는 것이다.

 

 

UnityEditor를 사용하는 cs파일을 Editor 폴더에 넣어주지 않는다면, 만든 에디터 기능을 사용하려고 할 때, 다음과 같은 에러 메시지를 출력하면서 기능이 작동하지 않을 것이다.

 

error CS0246: The type or namespace name `UnityEditor' could not be found. Are you missing a using directive or an assembly reference?


만약에 에디터로서의 기능이 아니라 게임 내에서 디버그 적인 요소로서 UnityEditor의 기능을 사용해야 한다면 그 기능을 사용하는 코드에는 다음 예시와 같이 전처리기 처리를 해주어야 한다.

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif

public class UseUnityEditorClass : MonoBehaviour
{
    public void Function()
    {
#if UNITY_EDITOR
        // 유니티 에디터에서 Debug 용으로만 작동해야 하는 코드...
#endif
    }
}

 

 

 

[유니티 어필리에이트 프로그램]

아래의 링크를 통해 에셋을 구매하시거나 유니티를 구독하시면 수익의 일부가 베르에게 수수료로 지급되어 채널의 운영에 도움이 됩니다.

 

에셋스토어

여러분의 작업에 필요한 베스트 에셋을 찾아보세요. 유니티 에셋스토어가 2D, 3D 모델, SDK, 템플릿, 툴 등 여러분의 콘텐츠 제작에 날개를 달아줄 다양한 에셋을 제공합니다.

assetstore.unity.com

 

Easy 2D, 3D, VR, & AR software for cross-platform development of games and mobile apps. - Unity Store

Have a 2D, 3D, VR, or AR project that needs cross-platform functionality? We can help. Take a look at the easy-to-use Unity Plus real-time dev platform!

store.unity.com

 

Create 2D & 3D Experiences With Unity's Game Engine | Unity Pro - Unity Store

Unity Pro software is a real-time 3D platform for teams who want to design cross-platform, 2D, 3D, VR, AR & mobile experiences with a full suite of advanced tools.

store.unity.com

[투네이션]

 

-

 

toon.at

[Patreon]

 

WER's GAME DEVELOP CHANNEL님이 Game making class videos 창작 중 | Patreon

WER's GAME DEVELOP CHANNEL의 후원자가 되어보세요. 아티스트와 크리에이터를 위한 세계 최대의 멤버십 플랫폼에서 멤버십 전용 콘텐츠와 체험을 즐길 수 있습니다.

www.patreon.com

[디스코드 채널]

 

Join the 베르의 게임 개발 채널 Discord Server!

Check out the 베르의 게임 개발 채널 community on Discord - hang out with 399 other members and enjoy free voice and text chat.

discord.com

 

반응형
  1. HiGaTsu Ryu 2022.03.21 18:23 신고

    감사합니다!!!!ㅠㅠ UnityEditor가 갑자기 왜 안되는지 모르겠어서 한참 삽질했네요..

+ Recent posts