shaderSymbols.zipを作成する設定に関しての質問

パッケージをビルドする際「shaderSymbols.zip」も一緒に作成したい場合、

Engine/Config/BaseEngine.ini

に対して以下の設定を変更するとshaderSymbols.zipが作成されました

<br/>

[ShaderCompiler_BuildMachine]

; Build machine specific shader symbol cvars that can be overridden per platform.

; Generate and write shader symbols

r.Shaders.Symbols=1

; Generate shader symbols but don’t write to disk

r.Shaders.GenerateSymbols=1

; Write generated shader symbols to disk

r.Shaders.WriteSymbols=1

; Write generated symbols to a single zip file

r.Shaders.WriteSymbols.Zip=1

<br/>

しかしできることならEngineのiniファイルではなくプロジェクトフォルダのiniファイルに記述したいです。

<br/>

<br/>

そこで試しに

/プロジェクトフォルダ/Config/DefaultEngine.ini

に対して以下のように追記ましたが「shaderSymbols.zip」は作成できませんでした

考え方が間違っていますでしょうか?

<br/>

<br/>

[ShaderCompiler_BuildMachine]

; Build machine specific shader symbol cvars that can be overridden per platform.

; Generate and write shader symbols

r.Shaders.Symbols=1

; Generate shader symbols but don’t write to disk

r.Shaders.GenerateSymbols=1

; Write generated shader symbols to disk

r.Shaders.WriteSymbols=1

; Write generated symbols to a single zip file

r.Shaders.WriteSymbols.Zip=1

<br/>

[/Script/UnrealEd.CookerSettings]

!VersionedIntRValues=ClearArray

+VersionedIntRValues=r.AllowStaticLighting

+VersionedIntRValues=r.MaterialEditor.LWCTruncateMode

+VersionedIntRValues=r.GBuffer

+VersionedIntRValues=r.VelocityOutputPass

+VersionedIntRValues=r.SelectiveBasePassOutputs

+VersionedIntRValues=r.DBuffer

+VersionedIntRValues=r.Mobile.DBuffer

+VersionedIntRValues=r.Shaders.Symbols

+VersionedIntRValues=r.Shaders.GenerateSymbols

+VersionedIntRValues=r.Shaders.WriteSymbols

+VersionedIntRValues=r.Shaders.AllowUniqueSymbols

+VersionedIntRValues=r.Shaders.ExtraData

+VersionedIntRValues=r.Shaders.Optimize

+VersionedIntRValues=r.CompileShadersForDevelopment

+VersionedIntRValues=r.MobileHDR

+VersionedIntRValues=r.UsePreExposure

<br/>

<br/>

再現手順
BuildCookRunで-BuildMachine オプションを付けてパッケージをビルドすると再現します

(Default)Engine.iniのConsoleVariablesセクションに記述してみてください。

具体例は以下の通りです。

`; DefaultEngine.ini

[ConsoleVariables]
r.Shaders.Symbols=1
r.Shaders.GenerateSymbols=1
r.Shaders.WriteSymbols=1
r.Shaders.WriteSymbols.Zip=1`

ConsoleVariables.iniの挙動については以下のリンク先に簡単な解説がございます。よろしければご参照ください。

ご回答ありがとうございます!

ConsoleVariablesに書くと確かにシェーダシンボルは作成されるのですが

ただ少々やりたいことが違っておりまして

[ShaderCompiler_BuildMachine]に書くことによりCI環境でビルド時に -BuildMachine オプションを付けた時だけ

シェーダーシンボルを作成したいのです

<やりたいこと>

RunUAT.bat BuildCookRun のビルド引数でシェーダシンボルの作成をするかどうか?を変更したい

CI上でやるので都度iniファイルを書き換えるのはあまりやりたくない

(のですがほかに方法がなければConsoleVariablesをビルド前に書き足すようにします)

失礼しました。その場合各プラットフォームの***Engine.iniに記述していただくことで設定が適用できます。

具体的なiniファイルの位置はWindowsなら “Config/Windows/WindowsEngine.ini” 、​PS5であれば “Platforms/PS5/Config/PS5Engine.ini” となります。その中に[ShaderCompiler_BuildMachine]セクションと内容を記述してください。

いいえ。ご提示いただいたXDXEngine.iniで問題ありません。

> UEルート/プロジェクト名/Platforms/XSX/Config/XSXEngine.ini

下の添付画像は私のワークステーション上で -buildmachine をオプションに指定してパッケージ作成の確認を行った結果になります。

[Image Removed]

無事成功したようでなによりです!(自分も[ShaderCompiler_BuildMatchine] で詰まってたのでお気持ちはわかります!)

ありがとうございます

試しに

UEルート/プロジェクト名/Platforms/XSX/Config/XSXEngine.ini

を作成したのですが反応ありませんでした

UEルート/Engine/Platforms/XSX/Config/XSXEngine.ini

に追記しないとダメでしょうか・・?

ありがとうございます!再度実行したところ無事ShaderSymbols.zipができました!(引数をタイポしてました・・)