카테고리 없음

[Unity] C# Plugins DLL 만들기

CCS_Cheese 2025. 12. 6. 17:44

이번 게시글에서는 Unity에서 활용가능한 DLL에 대해서 다루어보겠습니다. 

Unity를 활용하다 보면 외부 라이브러리를 많이 볼 수 있고 해당 라이브러리는, DLL을 활용하는 경우를 많이 볼 수 있습니다. 
이러한 DLL을 직접 만들어 여러 프로젝트에서 재사용할 수 있고, 관리할 수 있습니다.

 

DLL이란?

Dynamic-Link Library로 동적 링크 라이브러리라는 뜻입니다. 여러 프로그램이 공통으로 사용하는 코드, 데이터, 리소스 등을 담고 있는 파일로, 프로그램이 실행되고, 필요한 시점에 동적으로 로드하여 사용합니다. 여러 프로그램에서 공통으로 사용하기 때문에 코드의 재사용성을 높여주는 장점이 있습니다. 

 

Unity DLL 만드는 법

  1. Visual Studio or Rider에서 Class Library 프로젝트 생성
  2. DLL안에 사용될 Class 및 함수 코드 작성
  3. (선택) - UnityEngine API를 활용하는 경우 Unity Dll을 참조
  4. Build를 진행하여. dll 파일 생성
  5. Unity Project에 Import 및 메서드 활용

Visual Studio Class Library 프로젝트 생성

VisualStudio, Rider New Project

Class 및 함수 정의

namespace UnityUtils
{
    public static class StringExtensions
    {
        public static string GetYoutubeIdFromUrl(this string url)
        {
            string pattern = @"(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})";

            Match match = Regex.Match(url, pattern);
            if (match.Success)
                return match.Groups[1].Value;
            else
                return string.Empty;
        }
    }
}

 

프로젝트 설루션 빌드 (dll 생성)

Solution Build
Build 성공

. dll 파일 Output 경로 ex) [SolutionName]/bin/Release/[SolutionName]. dll

Unity Project에 Import 및 메서드 활용

Assets/Plugins 경로에 dll 파일 Import

 

사용 방법

1. 해당 Dll의 네임스페이스 using 추가

2. 사용하려는 메서드 사용

using 선언 및 메서드 활용

 

 

마치며.

자주 사용하는 C# 서비스 또는 Unity API를 활용한 재사용 가능한 형태로 모아놓고 활용할 수 있는 방법에 대해서 배우게 된 것 같고, Unity 처음 dll이 어떤 역할을 하는지 모르고 활용하였을 때는 어떻게 구성되고 어떻게 만들어지는지 이해하지 못했지만, 직접 만들어 써보니 활용도가 무궁무진하다는 것을 알게 되었습니다. 다음 기회에 Unity API를 활용한 dll도 학습하는 계기가 있으면 좋을 거 같습니다.