Configuration flags UE 5.5.4

Hi

I’m trying to configure some rendering settings in my Unreal Engine project, and I need help setting the correct flags

r.RDG.AsyncCompute=0 r.HZBOcclusion=0For UE 5.5.4 the config files/structure were changed.

So the egini.ini does not exists anymore.

How can I change/set these parameters for a shipping game?

I want to change and test these and some other parameters.

I tried my own ‘base.ini’ but when I start the shipping game the file is deleted.

So I assume something is wrong or missing.

Best regards,

Gerrit

Steps to Reproduce

Hi,

You should be able to set those in one of your project *Engine.ini under the [ConsoleVariables] section. I’ll use Lyra an an example:

If you want this as for all platforms: D:\UE_5.5\Samples\Games\Lyra\Config\DefaultEngine.ini

[ConsoleVariables] r.RDG.AsyncCompute=0 r.HZBOcclusion=0If you want this for a specific platform (ex Windows): D:\UE_5.5\Samples\Games\Lyra\Config\Windows\WindowsEngine.ini

[ConsoleVariables] r.RDG.AsyncCompute=0 r.HZBOcclusion=0If you want to be able to configure it for a particular device profile, you can also set it in your device profiles (ex XBox Series X): D:\UE_5.5\Samples\Games\Lyra\Platforms\XSX\Config\XSXDeviceProfiles.ini

[XSX_Anaconda_30 DeviceProfile] +CVars=r.RDG.AsyncCompute=0 +CVars=r.HZBOcclusion=0The engine has an algorithm to go though which .ini overrides which (https://dev.epicgames.com/documentation/en\-us/unreal\-engine/configuration\-files\-in\-unreal\-engine) to pick the more specific setting. In my example, I put the more generic to the more specific order.

Regards,

Patrick

Hey Patrick

I see that I didn’t formulate my question clearly enough.

Or I misunderstood the answer.

I would like to change these values ​​in my shipping game.

So I have no idea where to put this file because there are no messages whether these are taken.

Is it possible to set these values afterwards?

Shipping game structure looks like:

`c:

  • Binaries\Win64...
  • Content
  • Plugins
  • Saved
  • Binaries
  • Config
  • Content
  • Extras
  • Plugins
  • Saved`

Hi,

The .ini files are stored in your .pak file if you are using -pak and/or -iostore, so you cannot easily modify them. In Test/development, you can override the .ini from the command line or (on Windows) you can place a UserEngine.ini file under certain folders (ex: C:\Users\patrick.laflamme\AppData\Local\Unreal Engine\Engine\Config\UserEngine.ini, See https://dev.epicgames.com/documentation/en\-us/unreal\-engine/configuration\-files\-in\-unreal\-engine as reference), but in Shipping this feature is disabled.

Is there a particular reason you want to set those variables after building and cooking?

Regards,

Patrick.

Hi

There are two reasons.

Sometimes we want to enable/disable certain features to improve product performance.

And sometimes to figure out why certain errors occur in Unreal or to work around certain bugs.

Regards

Gerrit

Hi,

Depending who are your clients (internal/external/developers), the environment where this need to happen, how big is the packaged app/game is and how often you need to tweak the configuration, one of these solutions is probably right for you:

  • Use a Test build to tweak. It is similar to a Shipping build and you can override the .ini file from the command line. You can override a single value, you can override an entire file or you can put a ‘User<CONFIG>.ini’ (Ex: UserEngine.ini) in one of the looked up folders to extend the look up. The various options are explained here: https://dev.epicgames.com/documentation/en-us/unreal-engine/configuration-files-in-unreal-engine
  • Shipping config: You can make a new build with the updated .ini and redistribute the updated game/app.
  • Shipping config: You can hack the engine \Engine\Source\Runtime\Core\Public\Misc\ConfigCacheIni.h to set ALLOW_INI_OVERRIDE_FROM_COMMANDLINE 1 for all build configurations. Then, you can tell your users to supply a specific command line to override the .ini configuration. This is not user friendly unless you have some sort of automation scripts to launch the product and you can do all the change automatically.
  • Shipping config: You could investigate using the UOnlineHotfixManager (Engine\Plugins\Online\OnlineFramework\Source\Hotfix\ module). I’m not familiar with this solution, but you can patch .ini files live and I’m confident it will update CVars. We have few posts around and you can always create a new specific ticket to get more info, it will be routed to the proper team. For example, you can start with [Content removed]
  • Shipping config: You could turn off pak/iostore and use loose file deployment and you could replace or edit the .ini files directly. This will probably come with some loading performance cost and we don’t test this flow very much either. At 5.5 launch, we had a bug and we had to turn the Zen loader off as a workaround for example. So this work more or less well with the latest technology.

Regards,

Patrick