【Unity】「UnityEngine.dll」を使用した DLL の作成方法

# 手順
## プロジェクトの作成
### 手順1
**Visual Studio** を開き、「**Create a new project**」を押す。

<img width="500" alt="TSUBASAMUSU.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2670397/840d795d-6ccb-c58d-1c70-81090e119492.png">

### 手順2
**C#** 用の「**Class Library**」のテンプレートを選択し、右下の「**Next**」を押す。

<img width="500" alt="TSUBASAMUSU.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2670397/ee165ef3-472a-04b4-9c4f-deb8e2e189e1.png">

### 手順3
「**Project name**」や「**Location**」等を設定し、右下の「**Next**」を押す。

<img width="500" alt="TSUBASAMUSU.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2670397/b6e89d2e-c136-425b-4cb3-292dc399657b.png">

### 手順4
「**Framework**」を選択して右下の「**Create**」を押す。
（作成した DLL を Unity 内で使用したい場合は「**.NET Standard 2.1**」を選択すると良い）

<img width="500" alt="TSUBASAMUSU.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2670397/46a8a05d-a13f-2ae3-61e6-2989ec9d58f7.png">

## 参照の追加
### 手順5
**Unity Hub** を開いて「**インストール**」から任意のバージョンのエディタの「**設定**」を押して「**エクスプローラーで表示**」を選択する。

<img width="500" alt="TSUBASAMUSU.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2670397/8e63955c-d7e5-7614-1da7-84ef726eb57b.png">

### 手順6
開いた場所から「**Data** ＞ **Managed** 」に行って「**UnityEngine.dll**」をコピーし、先程作成した Visual Studio のプロジェクトのルートディレクトリにペーストする。
（必要に応じて「**UnityEditor.dll**」もコピペする）

<img width="500" alt="TSUBASAMUSU.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2670397/d0c9b4c3-63ed-3d85-46bf-5b1d431dd554.png">

### 手順7
Visual Studio に戻って「**Solution Explorer** ＞ **Dependencies**」で右クリックし、「**Add Project Reference...**」を選択する。

<img width="500" alt="TSUBASAMUSU.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2670397/727d8846-0797-bf5b-4c0e-9856366bc4ae.png">

### 手順8
左の「**Browse**」タブを開いて右下の「**Browse...**」を押し、先ほどコピペした「**UnityEngine.dll**」を追加後、チェックが入っている事を確認して右下の「**OK**」を押す。

<img width="500" alt="TSUBASAMUSU.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2670397/4659a9e4-b9d4-a4c7-e343-057d90154470.png">

## DLL の生成
### 手順9
適当なコードを記述して上の「**Build**」から「**Build Solution**」を押す。
（「**Ctrl** ＋ **Shift** ＋ **B**」でも可能）
```SampleClass.cs
using UnityEngine;

namespace SampleClassLibrary
{
    public class SampleClass
    {
        public static void LogHelloWorld()
        {
            Debug.Log("Hello World");
        }
    }
}
```
### 手順11
Visual Studio のプロジェクト内の「**bin** ＞ **Debug** ＞ {フレームワーク名}」中に「**{プロジェクト名}.dll**」ファイルが生成されている事を確認する。

<img width="500" alt="TSUBASAMUSU.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2670397/7b560937-1f18-b273-d977-c676184d6f68.png">

# その他
## 参考記事
https://dokuro.moe/unity-how-to-make-dll-from-c-charp-scripts/

https://forum.unity.com/threads/where-is-unityengine-dll-and-unityeditor-dll.103433/

# 最後に
## 株式会社ModelingXについて
<img width="200" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2670397/4261f1c0-a380-01a9-9c69-08a836c6f02f.jpeg">

富山県を拠点とするスタートアップ企業、ModelingXは、2022年4月に創業し、「テクノロジーで感動体験を提供する」というミッションを掲げています。当社が開発中の暮らし体験メタバース「MELIFE（ミライフ）」は、バーチャル住宅展示場や銀行相談、家具購入、婚活などができる「地域単位の新たな経済圏」を目指しています。

↓サービスサイトはこちらから↓

https://melife.io/

ModelingXはリモートワーク＆フレックスタイム制を完備。
UnityやUEを共に探求する仲間を全国から募集しています。

↓企業詳細はこちら↓

https://modelingx.jp/