今まではUnityを触っていたのですが、Unreal Engineに乗り換えようとしています。
そこで、とりあえずHello Worldをしようと、Unreal Engineをインストール、新規プロジェクト作成を行ったのですが、その新規作成したばかりのプロジェクトをUnreal Engine Editorで開こうとするタイミングで「An Unreal process has crashed」とエラーが出て、開くことすらできませんでした。
もしかしたら将来のバージョンで解決するのかもしれませんが、いろいろ調べて解決できたのでメモに残しておきます。
環境
- M1 Pro
- macOS 14.3.1
- Unreal Engine Editor 5.3.2
FMetalShaderResourceView::UpdateView() Address = 0x@@@@@ (filename not found) [in UnrealEditor-MetalRHI.dylib]
おそらく、プロジェクトを開いた直後だとこのFMetalShaderResourceViewのエラーが出ていると思います。
この場合は、<プロジェクトフォルダ>/Config/DefaultEngine.iniをテキストエディタで開いて、例えば[/Script/Engine.RendererSettings]のセクションの一番下に次の一文を追加します。編集が終わったらファイルを保存して閉じます。
r.ForwardShading=
False
もしr.ForwardShading
が存在していたらTrueをFalse
に変えます。
このエラーが出る原因ですが、プロジェクトを開くタイミングで、エラーメッセージにある通り、FMetalShader系のファイルを読み込もうとしているのですが、FMetalShader系のファイルはプロジェクトをビルドするときにできるものらしく、このタイミングではまだ作成されていないので、iniファイルで起動時のFMetalShader系ファイルの読み込みをスキップすることで、エラーを回避します。
UE::StereoRenderUtils::FStereoShaderAspects::FStereoShaderAspects(EShaderPlatform) Address = 0x@@@@ (filename not found) [in UnrealEditor-RenderCore.dylib]
おそらく、FMetalShader系のエラーを回避したら、次はこのエラーに遭遇するかもしれません。
この場合も同じく、<プロジェクトフォルダ>/Config/DefaultEngine.iniをテキストエディタで開いて、以下の属性を探し、値を変更します。編集が終わったらファイルを保存して閉じます。
vr.InstancedStereoをTrueから
False
に変える
このエラーが出る原因も、最初のエラーを同じだと思われます。
Windowsだとこんなエラーに遭遇することなく、サクッと起動するんでしょうかね?