この記事を読む前に
この記事は、UE4バージョン「4.27.0」と「SteamVR」Pluginの両方に関わりがある方向けの記事となります。また、このバグの根本的な解決はできておりません。何卒ご容赦ください。
症状
Unreal Engine 4.27.0において、[設定]→[プロジェクト設定]→[インプット]→[バインディング]から「アクションマッピング」「軸マッピング」のどちらかを追加するとUE4が落ちる。
原因を探る
色々試してみて分かったことを記述する。
まず、このバグがこのプロジェクト固有のバグかどうか確かめるために、新しくプロジェクトを作成した。その結果、新しく作成したプロジェクトでは起きなかった。が、バグが発生したプロジェクトと環境が違う点が一つある。
それは「SteamVR」Pluginの有無だ。
私はHTC Viveを所持しており、UE4を起動すると設定せずとも勝手にSteamVRが立ち上がる。
しかし、今回のプロジェクトではVRの開発をするわけでもなく、さらに、毎回プロジェクトを立ち上げる度に起動するのは鬱陶しい。
これを無効化させる為に、Pluginの設定からSteamVRを無効化させている。
今回新しく作成したプロジェクトではSteamVRのPluginを無効化させておらず、無効化させると、同様のバグが発生するのを確認した。
ならば別のバージョンはどうか
ひとつ前のバージョンの「4.26.2」をインストールし、同様の検証をした。
結果、「SteamVR」Pluginの有無関係なしに、このバグは起きなかった。
ダウングレードが上手くいかない
ならばこのバージョンで開発してみてはどうか?ということで、早速プロジェクトのバックアップをとり、ダウングレード。
プロジェクトを開いてみたところ、作業の進捗度具合が上手く反映されておらず、実質クラッシュ。
やはり新しくバージョンを上げることは容易でも、落とすことは難しいらしい。
しかし、1から別バージョンでプロジェクトを作るのはきつい。
ダウングレードも上手くいかず、アップデートも待ってられない。どうしたものか。
別バージョンから一部データを持ってくるのはどうか。
プロジェクトのバインディングなどのデータは「DefaultInput.ini」というデータに保存される。
ディレクトリは「プロジェクトフォルダー」→「Config」→「DefaultInput.ini」
このデータを別バージョンからコピーし、本データに移動させるのはどうか。
検証の結果、可能ではあるが、同様のバグは解消されなかった。
つまり、バインディングのみ過去バージョンで編集し、データを移動して使用することは可能であった。
結論
バグは解消されなかったが、いくつかの方法で対処はできる為、下記に記述する。
1: Plugin「SteamVR」の無効化をせず開発を続ける。
2: 過去バージョンでバインディングの設定を制作し、「DefaultInput.ini」に保存されたデータを本データに置き換える。
3: 過去バージョンで制作する。
4: アップデートを待つ。
まとめ
今回のバグに遭遇し検索しても記事が見つからなかった為、記事を制作してみたい気持ちもあり、初めて投稿した。このように文面にしてまとめるのは好きなので今後も続けていきたい。
更新履歴
2021_0906_0233 記事を投稿
2021_0906_1758 更新履歴の追加と改行を修正