LoginSignup
22
24

More than 5 years have passed since last update.

【UnityEditor】プロジェクトをまたいでエディター拡張したい

Last updated at Posted at 2016-07-19

この記事のUnityのバージョンはUnity5.3.5f1です.

はじめに

通常、エディター拡張はエディタースクリプトを入れたプロジェクトにのみ適用されます。
エディター拡張を複数のプロジェクトで使いたい、となった場合は各プロジェクトに個別にスクリプトを
入れなければならないので若干手間がかかります。

そこで、プロジェクトをまたいでエディター拡張する方法はないか調べてみました。

いろいろ書いてたら長くなってしまったので実装だけ見たい方は3.エディター拡張してみるをどうぞ

1. Editor\Data\UnityExtensions\Unityを見てみる

Editor\Data\UnityExtensions\Unityを見てみます。 (筆者はDドライブにUnityをインストールしているのでD/***になっていますが通常はCドライブにあるはずです

中にEditorTestsRunnerがありました。
image

Unityエディタのメニューにも同じものがあります。 
image

先ほどのEditorTestsRunnerフォルダは、UnityメニューのEditor Tests Runnerに相当するものではないかと気がつきました。


Editor\Data\UnityExtensions\Unityにエディタースクリプトを置けばエディター拡張できそうです。

2. さらに中を見てみる

EditorTestsRunner

EditorTestsRunnerフォルダの中身を見てみると、このような構成になっていました
image

TreeEditor

TreeEditorフォルダの場合はこのような構成になっていました
image



以下の2つのファイルがあれば良さそうだと読み取れます。
・ivy.xml
・Editor/(エディタースクリプト名).dll

以上を踏まえてエディター拡張してみます。

3. エディター拡張してみる

フォルダを作成

まず、Editor\Data\UnityExtensions\Unityの中にフォルダを作成します。フォルダ名はTestとしておきます。
image

Testフォルダの中にはEditorフォルダを作っておきます。
image

スクリプト作成

以下のスクリプトを作成し、Editorフォルダへ入れます。

TestClass.cs
using UnityEngine;
using UnityEditor;

public class TestClass
{
    [MenuItem("TestMenu/Test")]
    static void TestMethod ()
    {
        Debug.Log ("TestMethod");
    }
}

DLLへ変換

Editorフォルダの中に以下のbatファイルを作成&実行してTestClass.csをDLLへ変換します。

build.bat
smcs.batのファイルパス -r:"UnityEngine.dllのファイルパス" -r:"UnityEditor.dllのファイルパス" -target:library -out:Test.dll *.cs

image

参考 : 【Unity5】UnityスクリプトをDLLファイル化する方法

xmlの作成

Testフォルダ直下にivy.xmlを作成します

ivy.xml
<?xml version="1.0" encoding="utf-8"?>
<ivy-module version="2.0">
  <info version="5.3.5" organisation="TestOrganisation" module="TestModule" e:packageType="UnityExtension" e:unityVersion="5.3.5f1" xmlns:e="http://ant.apache.org/ivy/extra" />
  <publications xmlns:e="http://ant.apache.org/ivy/extra">
    <artifact name="Editor/Test" type="dll" ext="dll" e:guid="adebbd281f1a4ef3a30be7f21937e02f" />
  </publications>
</ivy-module>

info version, e:unityVersion にはお使いのUnityのバージョンを指定してください



ここまで終えると以下のような構成になっているはずです。
image

以上でエディター拡張は完了となります。

4. Unityを起動

エディター拡張がうまく動いているかを確認するため、新規UnityProjectを作成してみます。

5. 結果


メニューが追加されていることが確認できました。 Assetsフォルダには何も入れてません。

プロジェクトをまたいでエディター拡張することができました。(完)


余談

Testフォルダは以下のように配置してもOKなようです。
image
フォルダの場所はUnityExtensionsフォルダ以下であればどこにおいても認識されるのかもしれません

参考URL

Module Managerを使って自作ライブラリを読み込んでみた - けいごのなんとか
http://anchan828.hatenablog.jp/entry/2014/10/15/231013

22
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
24