Let's Enjoy Unreal Engine

Unreal Engineを使って遊んでみましょう

UE5 "Master"などの英単語を含む機能が非推奨化されていく件

今回はUE5そのものの機能ではなく、UE5内で使われている特定の英単語についての話をします。

昨今では世界的に大きく問題となっているポリコレ(ポリティカル・コレクトネス)ですが、UE5においても大きく影響が進んでいます。

docs.unrealengine.com

コーディング規約を読むと、『インクルーシブな言葉の選択』という項目があり、具体的にどういうところに気をつければ良いのかが記載されています。今回UE5になってから変更された機能を紹介してみます。

MasterPoseComponent → LeaderPoseComponent

MasterPoseComponentというSkinedMeshComponentに別のメッシュ情報を共有して持たせる機能があります。
この機能については、UE5.1から明確に非推奨となり、名称がLeaderPoseComponentへ修正されました。

MasterPoseCompomentは修正点もそこまで多くはないので対応はそこまで難しくないと思います。

MasterSequence → RootSequence

次はシーケンサーでよく使われていたMasterSequeceという単語ですが、これはほぼ全てUE5.2からRootSequenceという単語に差し替えられています。

ツールバーから作成していた"マスターシーケンス"という用語も"ショット付きレベルシーケンス"というワードに変更されています。

エンジンコード内部でもUE5.2のタイミングで200箇所以上が書き換えられていたので、相当な変更量になっています。

MasterTrack → Track

一番ややこしいのはこちらです。こちらもシーケンサー関連ですが、MasterTrackというワードで本来は表示されていたものが、"Master"の部分だけ抜き取られ、ただの"Track"という名前になっています。

その違いは検索してみると一目瞭然。

単に"Master"という単語が消えてしまっているので、同じ機能なのか違う機能なのか判別が不可能となっています。以下は全く同じ"Remove Master Track"というノードですが、UE5.2版は若干意味合いが変化しているように見えます。とは言えやれることは変わりませんので、注意しましょう。


非推奨関数を呼び出す方法

無理矢理ですが、一度非推奨指定されたノードを検索から表示させる方法もあります。"エディタの環境設定"から"Blueprint Editor Settings"を開いて、"非推奨関数を公開"にチェックしておくことで警告こそ表示されますが、無理矢理非推奨関数を呼び出すことが可能です。


まとめ

ちなみにエンジンコード内で"Master~"というワードは合計で1400箇所(!)もUE5.2になってから修正が入っているようで、これらをコードやノードを使っていた場合、UE5.2へのアップデート時にエラーが出ないかを注意する必要があります。

他にも"Slave"や"Black"、"White"などの単語も大きく使用率が下げられており、バージョンアップごとに別単語に差し替えられていることがわかります。"Black"や"White"は多少仕方ないと思いますが、"Master"や"Slave"などの単語は今後明らかに減らされていくと思いますので、その名前を使わないようにしておくのが無難だと思います。

Epicは代わりの単語として、以下を推奨しています。

Masterの場合
primary、source、controller、template、reference、main、leader、original、base

Slaveの場合
secondary、replica、agent、follower、worker、cluster node、locked、linked、synchronized

特に外国人と一緒に仕事するような機会があれば注意しておきましょう。