Contents
2026 年に推奨される Unity バージョンとインストール手順
Unity の長期サポート(LTS)版は、メジャーアップデートによる破壊的変更が少なく、公式のバグ修正とプラットフォーム対応が数年にわたって保証されます。BONELAB Modding SDK と Marrow SDK の両方が Unity 2022.3 LTS を最低要件としているため、開発を始める際はこのバージョンを選択するのが最も安全です。本節では公式情報への参照先と、実際に Unity Hub からインストールする手順を詳しく解説します。
公式根拠
Unity LTS のリリースノート – Unity 2022.3 LTS Release Page(2024 年 11 月更新)
Unity Hub ダウンロードページ – https://unity.com/download
Unity Hub 経由で Unity 2022.3 LTS を取得する
- 上記リンクから Unity Hub をダウンロードし、インストール後に起動します。
- 左側メニューの Installs → Add をクリックし、バージョン一覧から 2022.3 LTS(例:
2022.3.23f1)を選択します。 - 必要なビルドモジュールにチェックを入れます(※後述の Quest/Android 用設定も併せて有効化)。
| 必須モジュール | 説明 |
|---|---|
| Windows Build Support (IL2CPP) | Windows スタンドアロンビルド用。 |
| Android Build Support (OpenJDK, SDK & NDK) | Quest 向け Android ビルドに必須。 |
| XR Interaction Toolkit(Unity Registry) | VR コントローラ入力とリグを提供。 |
- Install ボタンでダウンロードが開始され、完了後に Unity エディタが自動的に登録されます。
BONELAB Modding SDK と Marrow SDK の取得・セットアップ
この章では、公式かつ永続的にアクセス可能な配布先(GitHub リリースページ)から最新 SDK を入手し、Unity プロジェクトへ組み込む方法を示します。Reddit の情報は参考程度に留め、必ず公式リポジトリの Release タブでバージョン番号と更新日時を確認してください。
| SDK | 公式ダウンロード URL | 現行バージョン(2024‑10‑01 時点) |
|---|---|---|
| BONELAB Modding SDK | https://github.com/bonelab-modding/BonelabModdingSDK/releases | v2.3.0 |
| Marrow SDK | https://github.com/bonelab-modding/MarrowSDK/releases | v1.5.2 |
ダウンロード手順
- 上記リンクへアクセスし、Assets → Download ZIP または Source code (zip) を取得します。
- ダウンロードした zip を解凍し、以下のフォルダー構成で Unity プロジェクトの
Assetsディレクトリ直下に配置します。
|
1 2 3 4 5 6 7 8 |
Assets/ ├─ BonelabModdingSDK/ │ ├─ Plugins/ │ └─ Editor/ └─ MarrowSDK/ ├─ Runtime/ └─ Editor/ |
- Unity エディタを再起動すると、Package Manager の In Project タブに両 SDK が自動的に表示されます。
注意:GitHub のリリースページは常に最新の SHA ハッシュとビルド日時が明記されています。ダウンロード前に必ず「Published on」日付を確認し、古いバージョンを誤って使用しないようにしてください。
新規プロジェクト作成とプラットフォーム別設定(Quest / Android)
BONELAB のターゲットは Meta Quest 系列です。したがって Android (OpenXR) 用のビルド設定が必須となります。本節では、URP テンプレートから開始し、Quest 向けに最適化された設定項目をすべて網羅します。
プロジェクト作成手順
- Unity Hub の Projects → New でテンプレート 3D URP を選択。
- プロジェクト名例
BonelabMod_2026、保存場所を指定して Create。 -
作成直後に Window → Package Manager を開き、以下をインストールします。
-
XR Interaction Toolkit(バージョン 2.5 以上)
-
OpenXR Plugin(Unity Registry)
-
インストール完了後、Edit → Project Settings → XR Plug-in Management に移動し、OpenXR を有効化。プラットフォーム別タブで Meta Quest (Oculus Touch Controller) プロファイルを追加します。
Quest/Android 用ビルド設定
| 設定項目 | 推奨値 |
|---|---|
| Scripting Backend | IL2CPP |
| Target Architecture | ARM64(必須) |
| Minimum API Level | Android 23 (Android 6.0) |
| Graphics APIs | Vulkan(デフォルト)、OpenGL ES3.2(バックアップ) |
| XR Plug-in Management → OpenXR → Feature Groups | Oculus Touch Controller, Hand Tracking (必要に応じて有効化) |
| Player Settings → Other Settings → Configuration | .NET Standard 2.0、API Compatibility Level = .NET 4.x |
ポイント
ARM64を除外すると Quest デバイスでの起動が失敗します。
Vulkan はパフォーマンスと電力効率が最も高く、Quest の推奨設定です。
サンプルシーン構築
- GameObject → XR → XRRig を配置し、デフォルトで
Main Cameraとコントローラリグが生成されます。 BonelabModdingSDK/Prefabs/PlayerController.prefabをシーンにドラッグし、XRRigの子オブジェクトとして接続します。- Physics → Layer Collision Matrix でカスタムレイヤー
ModとDefaultの衝突を有効化し、物理的なインタラクションが正しく機能するように設定します。
C# スクリプトの DLL 化と AssetBundle ビルド手順
モジュール化された DLL はバージョン管理が容易で、他の MOD と衝突した際にも切り離しやすくなります。また、配布時には AssetBundle にまとめることで、mod.io へのアップロードがシンプルになります。
スクリプト例と DLL プロジェクト作成
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// src/WeaponAmplifier.cs using UnityEngine; using Bonelab.Mods; namespace Bonelab.Mods.Example { public class WeaponAmplifier : MonoBehaviour { [Tooltip("ダメージ倍率")] public float multiplier = 2.0f; private void Start() { var weapon = GetComponent<BonelabWeapon>(); if (weapon != null) { weapon.damage *= multiplier; } } } } |
ビルド手順(Visual Studio)
- Visual Studio → 新規プロジェクト → クラス ライブラリ (.NET Standard) を選択。
- ターゲットフレームワークは .NET Standard 2.0(Unity 2022.3 が対応)。
srcフォルダーに上記コードを追加し、Build → Build Solution。- ビルド成果物
WeaponAmplifier.dllを Unity プロジェクトのAssets/Pluginsにコピーすると自動的に参照が解決されます。
デバッグ:Visual Studio の Attach to Unity 機能で Play 中にブレークポイントを設定すれば、変数やフローをリアルタイムで確認できます。
AssetBundle ビルドスクリプト(プラットフォーム別)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
using UnityEditor; public static class BundleBuilder { [MenuItem("Bonelab/Build AssetBundles (Windows)")] public static void BuildForWindows() => BuildAll(BuildTarget.StandaloneWindows64); [MenuItem("Bonelab/Build AssetBundles (Quest)")] public static void BuildForAndroid() => BuildAll(BuildTarget.Android); private static void BuildAll(BuildTarget target) { string outPath = "Assets/AssetBundles"; if (!System.IO.Directory.Exists(outPath)) System.IO.Directory.CreateDirectory(outPath); BuildPipeline.BuildAssetBundles( outPath, BuildAssetBundleOptions.None, target ); UnityEngine.Debug.Log($"AssetBundles built for {target}"); } } |
| ビルド対象 | コマンドメニュー |
|---|---|
| Windows (Standalone) | Bonelab → Build AssetBundles (Windows) |
| Quest (Android) | Bonelab → Build AssetBundles (Quest) |
ビルドが完了すると Assets/AssetBundles 配下に .bundle ファイルが生成され、mod.io にアップロード可能な形になります。
テスト・実機検証から mod.io 公開までのフロー
VR アプリはエディタ上だけでは検出できないデバイス固有の遅延やメモリ制限があります。以下のチェックリストに沿って PC (SteamVR) と Quest の両方で動作確認を行い、最終的に mod.io へ配布します。
エディタ内テスト
- Unity の Play ボタンでシーンが正しく起動するか確認。Console にエラーが無いことが前提です。
XR → Simulated Controllerを有効化し、マウス/キーボードでコントローラ入力をシミュレートします。
PC(SteamVR)実機テスト手順
| 手順 | 内容 |
|---|---|
| 1 | SteamVR をインストールし、ヘッドセットとコントローラを接続。 |
| 2 | File → Build Settings → Standalone Windows → Build and Run。 |
| 3 | 起動後に SteamVR ダッシュボードが表示され、ゲーム内でコントローラ操作が正しく機能すれば合格です。 |
Quest(OpenXR)実機テスト手順
- Meta Quest の開発者モードを有効化し、USB デバッグを許可します。
- Build Settings → Android で
Build and Runを選択。Unity が自動的に APK を転送・インストールします。 - 起動後は Oculus Debug Tool でフレームレート、GPU 使用率、メモリ消費を監視し、以下の目安を満たすか確認します。
| 指標 | 基準 |
|---|---|
| 起動時間 | < 8 秒 |
| 入力遅延 | ≤ 30 ms |
| フレームレート | 72 FPS 以上(安定) |
| メモリ使用量 | 1.2 GB 以下 |
mod.io へのアップロード手順
- mod.io アカウントを作成し、ダッシュボードの Create Mod をクリック。
- 必須情報を入力(例: Title, Version
1.0.0, Description 150‑300 文字)。タグはVR, BONELAB, Modding等を設定します。 - Upload Files ボタンで先ほど作成した
*.bundleとWeaponAmplifier.dllを追加し、リリースノートにビルド日時と既知の制限事項を書き込みます。 - Publish すると mod.io の公開ページが生成され、コミュニティからダウンロードとフィードバックを受け取れます。
ベストプラクティス:リリースごとに Git タグ (
v1.0.0) と mod.io バージョン番号を同期させることで、バージョン管理が一元化できます。
よくあるエラー対処と次のステップ
開発中に遭遇しやすいエラーは大きく分けて SDK バージョン不一致 と DLL 参照エラー の二種類です。ここでは具体的な症状と解決フローを示します。
SDK バージョン不一致エラー
| エラーメッセージ | 原因 | 解決策 |
|---|---|---|
AssemblyReferenceException: The type BonelabModdingSDK.* could not be found |
Unity が期待する SDK の Assembly が manifest に未登録 | Package Manager → Add package from disk で BonelabModdingSDK/package.json を再インポート、または Assets/Plugins 配下の DLL が欠損していないか確認 |
MissingMethodException: No overload for method 'Initialize' matches delegate |
SDK のバージョンが Unity 2022.3 LTS 以外でビルドされたものを使用 | GitHub Release ページから Unity 2022.3 対応版(例: v2.3.0)を再取得し、古いフォルダーを完全に削除したうえで再配置 |
DLL 参照エラー・ビルド失敗
| エラーメッセージ | 原因 | 解決策 |
|---|---|---|
DllNotFoundException: Unable to load DLL 'MarrowNative' |
ネイティブプラグインが対象プラットフォームに含まれていない | Edit → Project Settings → Player → Other Settings → Configuration で ARM64 と x86_64 の両方を有効化し、Plugins/MarrowNative が正しいフォルダー構造 (Plugins/Android, Plugins/x86_64) にあるか確認 |
BuildFailedException: Platform mismatch (Windows vs Android) |
AssetBundle ビルド時に複数プラットフォームのターゲットが混在 | BundleBuilder の BuildAll(BuildTarget target) で明示的に BuildTarget.Android(Quest) または BuildTarget.StandaloneWindows64 を指定し、AssetBundles ディレクトリをプラットフォーム別に分割 (AssetBundles/Android, AssetBundles/Windows) |
トラブルシューティングチェックリスト
- Unity バージョン:2022.3 LTS がインストールされているか → Unity Hub の Installs で確認。
- SDK フォルダー構成:
Assets/BonelabModdingSDKとAssets/MarrowSDKが正しい階層にあるか。 - DLL 配置:
Assets/Pluginsにすべての .dll/.so が入っているか(Android はPlugins/Android)。 - API Compatibility Level:
.NET Standard 2.0または.NET 4.xが選択されているか。 - コンソールエラーログ:スタックトレースをコピーし、公式 GitHub Issues や Discord の検索で同様事例が無いか確認。
まとめと次に取るべきアクション
- Unity 2022.3 LTS を Unity Hub 経由でインストールし、Quest 用 Android ビルドモジュールを必ず有効化する。
- BONELAB Modding SDK と Marrow SDK は公式 GitHub Release ページから取得し、バージョンと公開日を必ず確認する。
- プロジェクトは URP + OpenXR 設定で作成し、
XR Interaction ToolkitのプロファイルにMeta Quest (Oculus Touch)を追加する。 - スクリプトは外部 DLL(.NET Standard 2.0)として管理し、AssetBundle にまとめて mod.io へ配布する。
- PC と Quest 両方で実機テストを行い、起動時間・遅延・フレームレートの基準をクリアしたらリリース完了。
次のステップ
1. Git リポジトリで Unity プロジェクトと DLL のバージョン管理を開始。
2. Reddit や Discord の公式チャンネル(例: r/BONELAB、BONELAB Modding Discord)で最新チュートリアルを月に一度チェック。
3. 完成した MOD を mod.io にアップロードし、ユーザーフィードバックを受け取りながらバージョンアップを繰り返す。
このハンドブックが、2026 年以降も変わらず安定した開発環境を提供できることを願っています。Happy modding!