Contents
BONELABモッド開発の第一歩:必要な環境と準備
BONELABにおけるMOD作成は、ユーザーのゲーム体験を豊かにし、コミュニティの活性化にもつながる重要な活動です。最新のMarrow SDKを活用することで、安定した動作性や機能拡張性が確保できます。MOD開発にはUnityエディタおよび対応するハードウェア環境が必要となるため、準備段階で誤りがないか確認することが重要です。
MOD作成の意義と最新SDKの重要性
MOD開発は、ゲームのカスタマイズ可能性を高め、ユーザーが独自のコンテンツを作成できる仕組みとして注目されています。特にBONELABでは、公式から提供されるMarrow SDKが、MOD作成の基盤となっています。最新版SDKは、セキュリティ対策や性能向上に加え、PCとQuest両プラットフォームでの互換性を強化しており、開発者にとって不可欠なツールです。
注意点:旧版SDKを使用する場合、一部の機能が動作しなくなる可能性があります。BONELAB公式リポジトリから最新版を必ず取得してください。
Unityプロジェクトの初期設定手順
Unityエディタで新規プロジェクトを作成する際は、バージョン管理やパッケージの導入確認を怠らないことが重要です。MOD開発ではバージョンの違いが動作に影響を与えるため、最新版のUnityを使用することを推奨します。
プロジェクト作成とバージョン管理
- Unity Hubから2023 LTS以上のバージョンをインストール
- BONELAB公式が推奨するバージョンは2023.2.4f1(最新確認時)
- 新規プロジェクト作成時に「3D」テンプレートを選択
- プロジェクト名を
BonelabModProjectなど分かりやすい名称に設定
必要パッケージの導入確認
- Marrow SDK:公式リポジトリから取得(後述)
- Monke Mod Manager対応ライブラリ:Unity Package Managerで検索してインストール
| 項目 | 確認方法 | 補足 |
|---|---|---|
| Unityバージョン | Help > Aboutで確認 |
2023 LTS以降が推奨 |
| パッケージ管理 | Window > Package Manager |
Monke Mod Manager対応パッケージを導入 |
Marrow SDKの導入と.asmdefファイル設定
Marrow SDKは、MOD開発を可能にする核となるライブラリです。公式リポジトリから最新版を取得し、Unityプロジェクトにインポートする必要があります。また、.asmdefファイルで依存関係を明確化することで、ビルド効率が向上します。
公式リポジトリからのダウンロード手順
- GitHubの公式リポジトリへアクセス:Marrow SDK Repository
- リリースタグ(例: v0.3.8)を選択し、ZIPファイルをダウンロード
- Unityプロジェクト内の
Assetsフォルダに解凍
注意:インポート時にエラーが発生した場合、UnityのバージョンとSDKの互換性を再確認してください。
Unityプロジェクトへのインポート方法
- ダウンロードしたZIPファイルを
Assetsフォルダへコピー Assets > MarrowSDK > Editor内に.asmdefファイルがあることを確認- アセンブリ定義設定:
MarrowSDK.asmdefの「Include In Build」チェックボックスをON
| 設定項目 | 値 | 補足 |
|---|---|---|
| アセンブリ名 | MarrowSDK |
他のライブラリと重複しないよう命名する |
| ソースファイル | 自動検出 | フォルダ内に存在するスクリプトを自動読み込む |
PC/Quest向けハードウェア要件と対応設定
MOD開発では、使用するプラットフォームに応じたハードウェア要件やUnityのビルド設定が異なるため、事前に確認が必要です。特にPCとQuestは、性能面だけでなく、ビルドターゲットの選択も重要です。
PC版開発時の注意点
- 最低限のスペック:NVIDIA RTX 3060以上、16GBメモリ
- VRソフトウェア:SteamVRを導入必須
- Unityビルドターゲット:
File > Build Settings > PC, Mac & Linux Standaloneを選択
Quest版でのビルド設定確認
| 項目 | 必須条件 | 補足 |
|---|---|---|
| デバイス | Quest 3(最新モデル)以上 | 多くのMODが対応していない古いモデルは不適 |
| 開発者モード | On | Settings > Developer Optionsで有効化 |
| ビルドターゲット | File > Build Settings > Android (IL2CPP) |
Unity 2023 LTS以降のバージョンが推奨 |
Monke Mod Managerとの連携方法
Monke Mod Managerは、MODパッケージの管理やアップロードを簡単に行えるツールです。MODを開発し、他のユーザーに配布する際には、このツールと連携させることが必須となります。
MODパッケージ形式の作成手順
Assets > MonkeModManager > Toolsから「Export Mod」を選択- パッケージ名とバージョン番号を入力(例:
CustomNPC_v1.0) - 生成された
.modファイルをModsフォルダに配置
| ファイル形式 | 内容 | 補足 |
|---|---|---|
.mod |
MODデータの圧縮ファイル | Monke Mod Manager専用形式 |
manifest.json |
モジュールのメタ情報 | 自動生成される |
バージョン管理とアップロードプロセス
- GitHubやMod.ioにリポジトリを作成
.modファイルをZIP形式で圧縮し、アップロード- リポジトリURLをMonke Mod Managerの「Import from URL」機能で指定
実践例:公式資料では、Mod.ioとの連携を具体的に解説しています。
実践例:カスタムNPCの作成ワークフロー
MODとして配布可能なカスタムNPCを作成するには、スクリプトの作成とアニメーションとの連携が不可欠です。以下は具体的なステップです。
キャラクタースクリプトの作成
Assets > Scriptsフォルダに新規C#ファイルを追加(例:CustomNPC.cs)- 以下のように基本的なスクリプトを作成:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using UnityEngine; public class CustomNPC : MonoBehaviour { // NPCの名前変数 public string npcName = "TestNPC"; // ゲーム開始時に呼ばれる関数 void Start() { Debug.Log("NPC: " + npcName + " has been initialized."); } } |
- NPCのオブジェクトにこのスクリプトをアタッチ
アニメーションとの連携方法
Animator Controllerを作成し、所望のアニメーション(例: 立ち位置)を追加- スクリプト内で
Animatorコンポーネントを取得して制御:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
// Animatorコンポーネントを参照する変数 public Animator animator; void Update() { // スペースキーが押されたときに「Stand」アニメーションを再生 if (Input.GetKeyDown(KeyCode.Space)) { animator.Play("Stand"); } } |
注意:NPCのモデルファイルは、BONELAB公式アセットから利用可能なものを使用してください。