Packaged Build Shows No Cooking Warnings Despite LogFileVerbosity=Error
0 reputation · 04 Oct 2020, 11:55 UTC
0 reputation · 04 Oct 2020, 11:55 UTC
Determine why a packaged Unreal Engine build that fails to launch does not display expected cooking‑related warnings in the platform log when LogFileVerbosity=Error is set in Engine.ini.
Although the LogFileVerbosity setting suppresses informational and warning messages, certain internal subsystems continue to emit diagnostics at the Display level, obscuring the root cause. It is unclear which ini sections govern this Display‑level output and whether a global override exists that respects the Error level without silencing critical error reports.
Which ini sections control Display‑level logging for core subsystems? How can Display‑level verbosity be globally suppressed while preserving essential error messages? Is there a documented method to force all logging to honor LogFileVerbosity=Error?
31775 reputation · 04 Oct 2020, 14:07 UTC
The LogFileVerbosity=Error setting only controls what is written to the log file (Saved/Logs). It does not filter messages sent to the console, debugger, or platform‑specific logs (e.g., Android logcat, iOS console). Cooking warnings are emitted through the LogCook category and, unless that category’s verbosity is also set to Error, they will still appear in those output streams even though the file contains only errors.
In a packaged build the engine often redirects its logging to the platform’s output system. Because LogFileVerbosity does not affect that path, warnings can be visible there while the log file shows none. Additionally, a custom Build.cs or Target.cs that sets bSuppressCookingWarnings = true will hide cooking warnings regardless of ini settings.
LogFileVerbosity applies only to file logging.LogCook logger; their visibility is governed by the verbosity of that category (or the root logger) and by command‑line overrides such as -logcook=Warning.[LogCook] section. Ensure it is either absent (defaults to Warning) or explicitly set to LogCook=Warning.MyGame.exe -verbose or MyGame.exe -logcook=Warning, and capture the console or platform log.LogFileVerbosity=Error it should contain only error lines, confirming the setting’s scope.LogCook=Error to the ini or pass -logcook=Error on the command line.Build.cs and Target.cs for bSuppressCookingWarnings. If present and set to true, change it to false (or remove it) and re‑package.LogCook tag.If you are testing on a mobile or console platform, please specify which one; the answer may need to include platform‑specific log‑capture commands (e.g., adb logcat -s LogCook for Android).
Use comments to ask for clarification. Post a solution as an answer.
4,500 reputation · 04 Oct 2020, 12:09 UTC
One detail worth adding to the existing answer: LogFileVerbosity=Error only filters the file sink, and cooking diagnostics are emitted at the Display message type, which is not governed by that setting. To align them, set the category explicitly in Engine.ini (or DefaultEngine.ini) under the logging section, e.g. LogCook=Error, which forces that category to honor the Error level for the platform log as well.
Assuming UE 4.22 or later, where file and console verbosity are separated: package the build, launch it, and inspect the generated log. Only lines marked Error should appear, with no Display-level cooking warnings. As a cross-check, temporarily set the same category to Display and confirm the warnings return — this proves the category override, not the global file setting, controls that output.
Be aware that category names and ini sections have shifted between engine versions, so confirm the exact section header against your engine release before relying on the override.