C# - DLL 파일

윤형·2025년 3월 5일
0

Unity

목록 보기
8/8

DLL 파일이란?
Dynamic Link Library의 약자로 동적으로 연결되어 있는 라이브러리 파일, 여러 프로그램에 동적으로 공유할 수 있는 코드, 데이터, 리소드 등등을 의미한다.

다른 언어로 작성된 코드를 DLL파일로 만들어 Unity 프로젝트에 통합하는 것 또한 가능하다. 하지만 유니티는 기본적으로

DLL 파일 생성하기

1. Visual Studio 에서 Class Library파일 생성

namespace MyDLL
{
    public class Calculator
    {
        public int Add(int a, int b)
        {
            return a + b;
        }
    }
}

프로젝트를 빌드해서 MyDLL.dll 파일을 생성한다.

2. Unity 프로젝트에 추가

MyDLL.dll 파일을 Assets/Plugins 폴더에 넣는다.

3. Unity 스크립트에서 사용하기

using UnityEngine;
using MyDLL;

public class ExampleScript : MonoBehaviour
{
    void Start()
    {
        Calculator calc = new Calculator();
        int result = calc.Add(5, 10);
        Debug.Log("Result: " + result);
    }
}

이렇게 라이브러리 처럼 불러와서 사용할 수 있게 된다.

DLL 특징

그렇다면 이러한 DLL파일을 만드는 이유는 어떻게 되는 것일까?

특징CS파일DLL파일
형태소스 코드컴파일된 바이너리 파일
수정 가능성Unity에서 직접 수정 가능수정 불가(소스 코드가 없음)
보안소스 코드가 노출됨소스 코드가 숨겨짐
재사용성특정 프로젝트에 종속적여러 프로젝트에서 사용가능
컴파일 방식Unity가 자동으로 컴파일외부에서 미리 컴파일 됨
외부 라이브러리외부 라이브러리 통합 불가외부 라이브러리 통합 가능
성능Unity의 스크립트 엔진에 의존네이티브 코드로 성능 최적화 가능
사용 예시Unity 스크립트, 게임 로직외부 라이브러리, 성능 최적화 코드

CS 파일 사용 이유

  • Unity 프로젝트 내에서 직접 코드를 작성하고 수정할 때.
  • 소스 코드를 공개하거나 협업 시 편리하게 사용할 때.
  • 간단한 게임 로직이나 Unity 스크립트를 작성할 때.

DLL 파일 사용 이유

  • 소스 코드를 숨기고 싶을 때 (보안 목적).
  • 외부 라이브러리나 프레임워크를 Unity에 통합할 때.
  • 성능이 중요한 코드를 네이티브 코드로 작성하고 싶을 때.
  • 여러 프로젝트에서 동일한 코드를 재사용하고 싶을 때.

유니티와 DLL

유니티는 "모든 것을 하나의 엔진으로 처리하자" 라는 철칙을 가지고 있다. 따라서 외부 라이브러리나 DLL파일을 지양한다.

profile
제가 관심있고 공부하고 싶은걸 정리하는 저만의 노트입니다.

0개의 댓글