Unreal ガイド
bHaptics の Unreal SDK プラグインを使用すると、Unreal で制作したコンテンツにハプティックを実装できます。
- SDK プラグインをインポートする
- ハプティックアプリを連携する
- ハプティック環境をセットアップする
- (任意) C++ の準備をする
要件
- 開発環境
- OS: Windows 10/11 (x64)、macOS (Apple Silicon) (現在ベータ版)
- Unreal Engine 5.2 - 5.8
- bHaptics Player のインストール
- ゲームに対応するデプロイ済みの ハプティックアプリケーション
- ハプティックアプリの App ID と API Key
- ランタイム環境
- OS: Windows 10/11 (x64)、Android(VR ヘッドセット専用)、PS5
- 対応ヘッドセット: Meta Quest 2/3/3S/Pro、Pico 4/4 Pro/4 Ultra、HTC VIVE Focus 3/Focus Vision/XR Elite
- ヘッドセットに bHaptics VR Player がインストールされている必要があります。
- OS: Windows 10/11 (x64)、Android(VR ヘッドセット専用)、PS5
5.2 - 5.8 の範囲外の Unreal Engine バージョンのサポートが必要な場合は、support@bhaptics.com までお問い合わせください。
スタンドアロン VR ヘッドセットで ヘッドセットに bHaptics VR Player をインストールせずに bHaptics ハプティックデバイスを使用する方法は非推奨です。ハプティックデバイスを使用するには、ヘッドセットに bHaptics VR Player をインストールしてください。
macOS 向けに開発する場合、パッケージ化したアプリが bHaptics Player に接続できるよう、macOS ネットワーク Entitlement セクションを確認してください。
About haptic application
You can create and manage haptic apps in Developer Portal, a web-based tool.
If you're unfamiliar with haptic apps or haven't created one yet, please follow the Portal guide before proceeding.
Before linking a haptic app to your game project, make sure the haptic app meets the following requirements:
- At least one haptic event must be created.
- API Key must be generated.
- There is no API Key by default. To generate one, go to the "API Key" tab and click "New" button.
- Haptic app must be deployed
- If you see "Deploy Now" button in the upper right corner, click it to deploy your haptic app. Otherwise, if you can see "Up to date", it means that the latest haptic app has already been deployed.
Also, link process requires App ID and API Key. Go to the "Settings" tab, and check the App ID and API Key.

SDK プラグインをインポートする
SDK プラグインを Unreal プロジェクトにインポートする方法には、Engine Plugin と Game Plugin の 2 つがあります。
どちらを使用すべきですか?
どちらの種類のプラグインも同様の機能を提供しますが、インストール場所と適用範囲が異なります。
- Engine Plugin: エンジンディレクトリにインストールされ、インストールしたバージョンの UE を使用するすべてのプロジェクトで利用できます。
- インストール場所:
[Unreal Engine Root Directory]/Engine/Plugins/[Plugin Name]/
- インストール場所:
- Game Plugin: プロジェクトのフォルダ内に配置され、特定のプロジェクトでのみ利用できます。
- インストール場所:
[Project Root Directory]/Plugins/[Plugin Name]/
- インストール場所:
Fab からダウンロードするプラグインは engine plugin で、事前にコンパイルされた Windows バイナリです。macOS やコンソールのバイナリは含まれていないため、macOS で使用したり、PS5 などのコンソール向けにパッケージ化したりすることはできません。
macOS やコンソールの開発には、game plugin を使用してください。 SDK 自体はプラットフォームに依存しません — bHaptics Player とローカルネットワーク接続で通信するため、そのソースはどの対象プラットフォームでもコンパイルできます。game plugin はそのソースをプロジェクト内に配置するため、macOS や PS5 を含む対象プラットフォーム向けにプロジェクトとともにビルドされます。また、プラグインのソースをプロジェクトにバンドルすることは、コンソール認証の要件にも適合します。game plugin は、Fab を使用できない場合にも便利です。
詳しくは公式の Unreal ドキュメントを参照してください。
プラグインをインストールする
- Engine Plugin (UE 5.2 - 5.8)
- Game Plugin (UE 5.2 - 5.8)
Fab の engine plugin は事前にコンパイルされた Windows バイナリです。macOS の場合は、代わりに Game Plugin を使用してください。
- Fab から bHaptics Plugin を入手します。

- Epic Games Launcher に移動して、プラグインをエンジンにインストールします。
- 左側で「Unreal Engine」タブを選択します。
- 上部で「Library」タブを選択します。
- 「Fab Library」までスクロールし、「bhaptics」を検索します。
- 「bHapticsPlugin」を見つけて「Install to Engine」を選択します。
- 使用したいゲームエンジンのバージョンを選択します。
- 「Install」を選択します。ダウンロードがすぐに開始されます。
- Unreal プロジェクトを開き、Plugins ウィンドウに移動します。
- プラグインを有効化します。
- 「bhaptics」を検索します。
- 「BhapticsPlugin」をチェックして有効化します。
- 警告が表示されます。「Restart Now」を押します。(変更がある場合は、先にプロジェクトを保存したことを確認してください!)
- エディタを再起動した後、Plugins ウィンドウを再度開き、「BhapticsPlugin」が有効になっていることを確認します。
開始する前にプロジェクトをバックアップしてください。
以前に Fab から engine plugin をインストールしたことがある場合は、進める前に engine plugin を削除してください。
ここでは、Unreal プロジェクトが C++ を使用していることを前提としています。プロジェクトが Blueprint のみを使用している場合は、C++ クラスを作成してプロジェクトをビルドしてから、以下の手順に従ってください。
- bHaptics Plugin をダウンロードします。圧縮されたプラグインファイルがすぐにダウンロードされます。
- ダウンロードした zip ファイルを解凍します。
BhapticsPlugin[_VERSION]という名前のフォルダが作成されます。 - Unreal プロジェクトのディレクトリに移動します。次に、
BhapticsPlugin[_VERSION]フォルダを Unreal プロジェクトのPluginsフォルダに配置します。パスは[YourUEProjectName]/Plugins/BhapticsPluginである必要があります。
- プロジェクトに
Pluginsフォルダが存在しない場合は、新しく作成します。 - これらのファイルの場所は変更してはならないため、正しく配置されていることを確認してください。フォルダは次のような場所にある必要があります。
[YourUEProjectName]├── Binaries├── Config├── Plugins│ └── BhapticsPlugin_VERSION│ ├── BhapticsPlugin.uplugin│ └── (...)├── (...)├── [YourUEProjectName].sln└── [YourUEProjectName].uproject
- プロジェクトに
[YourUEProjectName].uprojectファイルを右クリックし、「Generate Visual Studio project files」を選択して[YourUEProjectName].slnファイルを再生成します。
[YourUEProjectName].slnを開き、Solution Explorer でプロジェクト名を右クリックして「Build」を選択し、プロジェクトソースをコンパイルします。
- Unreal プロジェクトを開き、Plugin 設定に移動します。Haptic セクションの「BhapticsPlugin」が有効になっていることを確認します。
ハプティックアプリを連携する
- Project Settings を開きます。
- bHaptics プラグイン設定に移動します。

- ハプティックアプリの App ID と API Key を入力し、「Link bHaptics」ボタンを押します。App ID と API Key は Portal で確認できます。
- プロジェクトが bHaptics Developer Portal と正常に同期されると、BHAPTICS_SETTINGS_SUCCESS というメッセージが表示されます。

ハプティック環境をセットアップする
ハプティック関連の関数を使用する前に、ハプティック環境をセットアップする必要があります。必ず使用しなければならない主要な関数が 2 つあります。Initialize と Destroy です。
ハプティック環境はゲームの開始時に初期化する必要があります。また、ゲームの終了時に破棄(Destroy)する必要もあります。
これらの関数は Blueprint と C++ の両方の方法で提供されています。
- Blueprint
- Initialize: 「Initialize bHaptics」ノードを呼び出す
- Destroy: 「Destroy bHaptics」ノードを呼び出す
- C++
- Initialize:
UBhapticsSDK2::Initialize()関数を呼び出す - Destroy:
UBhapticsSDK2::Destroy()関数を呼び出す
- Initialize:
また、次の点に注意してください。
- 初期化は複数回実行しても問題ありません。効率上の問題は発生しません。
- プログラムが終了する最後のレベルで必ず Destroy を呼び出す必要があり、必ず一度だけ呼び出してください。Destroy を呼び出さなかったり、2 回以上呼び出したりすると、クラッシュの原因になることがあります。
一般的なセットアップ方法
ハプティック環境をセットアップする一般的な方法は 2 つあります。プロジェクトの構造とニーズに応じて、どちらか一方を選択してください。
- GameInstance 経由 (推奨)
- Level Blueprint 経由
- GameInstance 経由
- Level Blueprint 経由
ゲームインスタンスはエンジンの起動時にインスタンス化され、エンジンがシャットダウンするまでアクティブな状態を維持します。
「Gameplay Framework」 — Unreal ドキュメント
- 「GameInstance」を継承する新しい Blueprint Class を作成します。

- 任意の名前を付けて、その Event Graph を開きます。

- Event Graph をセットアップし、コンパイル/保存します。
- Initialize: 「Event Init」の後に「Initialize bHaptics」を接続します。
- Destroy: 「Event Shutdown」の後に「Destroy bHaptics」を接続します。
- Project Settings → Project → Maps & Modes に移動し、Game Instance Class を今作成したものに設定します。

- Level Blueprint を開きます。

- Event Graph をセットアップし、コンパイル/保存します。
- Initialize: 「Event BeginPlay」の後に「Initialize bHaptics」を接続します。
- Destroy: 「Event End Play」の後に「Destroy bHaptics」を接続します。
(任意) C++ の準備をする
Unreal プロジェクトで C++ を使用する場合は、いくつかの追加作業が必要です。
Source/[YourGameName]/[YourGameName].Build.csに移動して依存関係を追加します。Source/[YourGameName]/[YourGameName].Build.cs// Add DependencyPrivateDependencyModuleNames.Add("BhapticsPlugin");// Or Using AddRangePrivateDependencyModuleNames.AddRange(new string[] { "BhapticsPlugin" });注記Build.csファイルを修正した後は、必ずプロジェクトファイルを再生成し、エンジンを再ビルドする必要があります。- プロジェクトファイルを再生成する: ファイルエクスプローラーで Unreal プロジェクトに移動し、
[YourUEProjectName].uprojectファイルを右クリックして「Generate Visual Studio Project Files」を選択します。 - エンジンを再ビルドする:
[YourUEProjectName].slnを開き、Solution Explorer でプロジェクト名を右クリックして「Rebuild」を選択します。
- プロジェクトファイルを再生成する: ファイルエクスプローラーで Unreal プロジェクトに移動し、
- ハプティック機能を使用する C++ スクリプトに
"BhapticsSDK2.h"ヘッダーをインクルードします。#include "CppGameModeBase.h"#include "BhapticsSDK2.h"void CppGameModeBase::BeginPlay(){Super::BeginPlay();UBhapticsSDK2::Initialize();}
macOS ネットワーク Entitlement
macOS 15(Sequoia)以降では、パッケージ化されたアプリは App Sandbox 内で実行されます。アプリがネットワーククライアント entitlement を宣言しない限り、サンドボックスは localhost への接続を含むすべてのネットワークアクセスを遮断します。SDK は bHaptics Player とローカル接続で通信するため、この entitlement のない macOS パッケージビルドは Player に接続できません(サンドボックスの deny network エラーで失敗することがあります)。
macOS 向けにアプリをパッケージ化する際は、com.apple.security.network.client entitlement を追加してください。これはアプリ開発者が設定する部分であり、SDK には含まれていません。
さらに読む
これで bHaptics のハプティック機能を使用する準備が整いました! ゲームでハプティックを再生するには、Unreal リファレンスをご覧ください。