ぼっちプログラマのメモ

UE4とかVRとかについて書いたり書かなかったり。

Vive Trackerを一定数繋いだ状態でUE4を起動するとクラッシュする不具合の修正方法について (UE4.21で正式修正予定)

はじめに

Vive Trackerを一定数以上繋いだ状態でUE4を起動するとクラッシュする、という不具合が報告されています… そこそこ本気でVTuberする上でこれは辛いので、修正方法を共有します…修正箇所は凄く少ないので対応コストは少ないです。
正式に入るのはUE4.21を予定しています。

関連issue
https://issues.unrealengine.com/issue/UE-54387
https://issues.unrealengine.com/issue/UE-63579 (申請が通れば公開されます)

修正内容

"\Engine\Plugins\Runtime\Steam\SteamVR\Source\SteamVRController\Private\SteamVRController.cpp"

30行目付近の MAX_TRACKED_DEVICES をコメントアウト

//#define MAX_TRACKED_DEVICES (int32)EControllerHand::Special_9 - (int32)EControllerHand::Left + 1

115行目付近のMaxControllers に入れる値を変更

/** Total number of motion controllers we'll support */
//static const int32 MaxControllers = MaxUnrealControllers * CONTROLLERS_PER_PLAYER;

// NOTE: This used to be MaxUnrealControllers * CONTROLLERS_PER_PLAYER, but we needed to support many more trackers than that
static const int32 MaxControllers = vr::k_unMaxTrackedDeviceCount;

Github

#jira UE-63579 Assert when having too many VR devices
Increase max controllers to support more.
https://github.com/EpicGames/UnrealEngine/commit/01c783a907cffba11905dc8f15823b29d2b451d7


もしこの対応を入れてもクラッシュする場合はご連絡ください…