🔑

CCKをPackageManagerを使わずに導入する方法

に公開

CCK(Cluster Creator Kit)をGitHubから直接ダウンロードして導入する方法です。

Assets以下に配置できるため、VisualStudioがCCKのソースコードを認識できるようになります。
つまり、ブレークポイントを仕込むこともできるようになります。
CSEmulatorのような、CCKに絡んだエディタ拡張を開発したいような場合には便利です。

1. GitHubからソースコードをダウンロードする

公式GitHubからソースコードをダウンロードしてください。

2. Assets以下に配置する

画像のようなフォルダ構成になるように配置してください。
mu.cluster.cluster-creator-kit
↑コピペ用

3. CCKのソースコードを加工する

このままでは色々動かないので、CCKのソースコードを加工します。

3.1 Packages/を変更する

Assets以下に配置すると、Assets/Packages/という構成になります。
そのため、Packages/と決め打ちされた箇所をAssets/Packages/に変更する必要があります。
CCKのソースコード全域を「Packages/」で検索し「Assets/Packages/」に変更してください。

筆者はDevasというソフト使って一括変換してます。お好きな方法でどうぞ!


これは変換後の様子です

3.2 GetCreatorKitVersion()を変更する

Assets\Packages\mu.cluster.cluster-creator-kit\Editor\Infrastructure\PackageInfo.cs
のGetCreatorKitVersion()が正常に動かないので、画像のように変更します。

using System.Linq;
using System.Reflection;
using UnityEngine;

namespace ClusterVR.CreatorKit.Editor.Infrastructure
{
    public static class PackageInfo
    {
        const string RecommendedUnity6000EditorVersion = "6000.2.6f2";
        const string RecommendedUnity2021EditorVersion = "2021.3.4f1";

        public const string RecommendedUnityEditorVersion = RecommendedUnity6000EditorVersion;

        static readonly string[] SupportedUnityEditorVersions =
        {
            RecommendedUnity6000EditorVersion,
            RecommendedUnity2021EditorVersion
        };

        public static string GetCreatorKitVersion()
        {
            return "3.1.0";
        }

        public static bool IsSupportedUnityEditorVersion()
        {
            return SupportedUnityEditorVersions.Contains(Application.unityVersion);
        }
    }
}

バージョン番号は
Assets/Packages/mu.cluster.cluster-creator-kit/package.json
のversionを参考にして付けます。

3.3 Samples~を削除する

CCK 2.31.0より追加された
Assets\Packages\mu.cluster.cluster-creator-kit\Samples~
を削除します。
(削除しないでも成功するかもしれませんが、筆者は試していません。)

4. 必要なパッケージをインストールする

Assets/Packages/mu.cluster.cluster-creator-kit/package.json
に以下のような記述があります。

  "dependencies": {
    "com.unity.nuget.newtonsoft-json": "3.0.2",
    "com.unity.inputsystem": "1.11.0"
  },

これを手動で入れます。
既に入っているなら不要です。

パッケージマネージャーは
ウィンドウ>Package Manager>パッケージマネージャー
で開けます。

4.1 Input System

パッケージマネージャー>Unityレジストリ>Input System
でインストールします。
要求バージョンは1.11.0で、現時点では1.14.2ですが、おそらく大丈夫でしょう。

これをインストールすると
「This project is using the new input system package...」
というメッセージが出ます。
これはInput Manager(古い)を無効にしてInput System(今回の)を使うようにしますか?というメッセージです。
Yesを押して再起動でOKです。

4.2 Newtonsoft Json

パッケージマネージャー>左上の+ボタン>Git URLからパッケージをインストール>
「com.unity.nuget.newtonsoft-json」と入力
でインストールします。
現時点で要求バージョンの3.0.2で一致しています。

5. ワールドをアップロードしてみる

ワールドアップロードの画面が正常に表示され、アップロードが完了できれば、ひとまず成功です。
他の機能が正常に動くかはなんとも言えませんが、ほとんどは正常に動いているように思えます…!!

以上です。
良きCCKハックライフを!!

Discussion