개요

  • Unity Script를 숨기기위해 DLL로 묶는 작업을 진행한다.

DLL 만들기

1. C# Project 생성

  • Visual C# > Class Library를 선택하여 프로젝트를 생성한다.

2. Unity 의존성 추가하기

  • DLL에서 Uinty Engine의 기능을 사용하기 위해서는 UnityEngine에 대한 참조기 필요하다.

  • 솔류션창에서 참조를 우클릭하여 참조 추가하기를 누른다.

  • 이후 필요한 의존성을 주입한다. 현재 예제의 경우 UnityEngine.dll이다.
  • Unity Hub를 사용하는 사용자 기준으로 dll의 경로는 다음과 같다.
C:\Program Files\Unity\Hub\Editor\2018.4.22f1\Editor\Data\Managed

3. DLL 스크립트 작성

  • 간단한 스크립트를 작성한다. 접근성을 알아보기 위해 접근 한정자 별로 함수를 구현하였다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine;

namespace Data
{
    public class DataCenter
    {
        public void CallPublic()
        {
            Debug.Log("public method call!!");
        }

        protected void CallProtected()
        {
            Debug.Log("protected method call!!");
        }

        private void CallPrivate()
        {
            Debug.Log("private method call!!");
        }

        internal void CallInternal()
        {
            Debug.Log("internal method call!!");
        }

        protected internal void CallProtectedInternal()
        {
            Debug.Log("protected internal method call!!");
        }
    }
}

4.프로젝트 빌드하기

  • 메뉴에서 Build > Build Soultion을 클릭하여 프로젝트를 빌드한다. (실행말고 빌드를 누르자)

5.결과물 포함

  • 빌드 결과물은 Unity 폴더 아무데나 배치해도 인식된다. (.cs 파일과 마찬가지)

6. 결과 확인

  • DLL에서 지정한 namesapce를 사용하여 객체를 인스턴스화해 본다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Data;

public class SampleScript : MonoBehaviour
{
    DataCenter dataCenter = new DataCenter();

    // Start is called before the first frame update
    void Start()
    {
        dataCenter.CallPublic();
    }
}

+ Recent posts