ソースからビルドしたときの実行権限


UE4をソースからビルドしたときのUE4Editor.exeの権限

環境
OS:Windows10
UE4:Oculus

UE4(Oculus)をソースからビルドして、UE4Editor.exeを実行してたら、
シェーダーコンパイル中に

LogDerivedDataCache: Display: HierarchicalDerivedDataBackend: Put failed, keeping in memory copy XXXX
LogDerivedDataCache: Display: Failed to write XXXX to HierarchicalDerivedDataBackend. Error: 0 (この操作を正しく終了しました。)

のようなエラー出ていたので、
管理者権限でUE4Editor.exeを実行したら消えました。
めでたしめでたし、ではないみたいです。

他のUE4Editor.exeやLauncherは管理者権限ついてない。

他のバイナリUE4Editor.exeと同じような権限にしていなかった場合に、問題が発生しました。

.uprojectをダブルクリックしてもエラーが出て開かない。

"Failed to launch editor"と表示されて開かない。

※ただし、このエラーに関してはUnrealVersionSelector-Win64-Shipping.exeの実行という前提もあったのかもしれません。

管理者権限のチェックをオフにして、プロパティ>セキュリティタブから各権限を設定すると、
.uprojectをダブルクリックで開けて、Launcherのその他プロジェクトからも開けるようになりました。

パーミッションは適切に設定しましょう。

UE4Editor.exe以外にも権限が異なる実行ファイルがあるかもしれません。Launcherで追加したEditorと同様の設定で揃えた方が良さそうです。

一括変更

※パッケージングで権限不足のエラーになったので思い切って一括で変更しました。
PowerShellを使って一括で権限を与えてみるのも手です。結構時間はかかります。

icacls "C:\Program Files\Epic Games\MyUE_4.26.2\Engine" /grant '<user>:F' /t /c /q

エンジンのビルド時に権限の設定する方法があればいいのですが、未確認です。