bMakeBinaryConfig
bMakeBinaryConfig
#Overview
name: bMakeBinaryConfig
The value of this variable can be defined or overridden in .ini config files. 1
.ini config file referencing this setting variable.
It is referenced in 8
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of bMakeBinaryConfig is to control whether a binary configuration file is generated during the packaging process of an Unreal Engine project. This setting is primarily used in the project packaging and deployment workflow.
This setting variable is relied upon by the following Unreal Engine subsystems and modules:
- DeveloperToolSettings: It’s defined in the UProjectPackagingSettings class, which is part of the project configuration settings.
- LauncherServices: It’s used in the FLauncherProfile class, which is responsible for managing launch profiles for deployed projects.
The value of this variable is set in multiple places:
- It can be configured through the project settings in the Unreal Editor, as it’s exposed as an UPROPERTY in the UProjectPackagingSettings class.
- It’s serialized and deserialized in the FLauncherProfile class, indicating that it can be saved and loaded as part of a launcher profile.
- It can be set programmatically using the SetMakeBinaryConfig method in the ILauncherProfile interface.
This variable doesn’t appear to directly interact with other variables, but it’s part of a larger set of packaging and deployment settings.
Developers should be aware of the following when using this variable:
- Enabling this option (setting it to true) will generate a binary config file during the packaging process, which can lead to faster loading times for the packaged project.
- This setting is specific to the packaging process and doesn’t affect the development environment.
Best practices when using this variable include:
- Consider enabling it for release builds to potentially improve loading times.
- Be aware that using binary config files may make it more difficult to manually edit configuration settings post-packaging.
- Test the performance impact of enabling this option in your specific project to ensure it provides the desired benefits.
- Keep this setting consistent across different build configurations to maintain predictable behavior.
#Setting Variables
#References In INI files
Location: <Workspace>/Projects/Lyra/Config/DefaultGame.ini:96, section: [/Script/UnrealEd.ProjectPackagingSettings]
- INI Section:
/Script/UnrealEd.ProjectPackagingSettings
- Raw value:
False
- Is Array:
False
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Developer/DeveloperToolSettings/Classes/Settings/ProjectPackagingSettings.h:271
Scope (from outer to inner):
file
class class UProjectPackagingSettings : public UObject
Source code excerpt:
/** If enabled, staging will make a binary config file for faster loading. */
UPROPERTY(config, EditAnywhere, Category = Packaging)
bool bMakeBinaryConfig;
/**
* If enabled, will generate pak file chunks. Assets can be assigned to chunks in the editor or via a delegate (See ShooterGameDelegates.cpp).
* Can be used for streaming installs (PS4 Playgo, XboxOne Streaming Install, etc)
*/
UPROPERTY(config, EditAnywhere, Category=Packaging)
#Loc: <Workspace>/Engine/Source/Developer/LauncherServices/Private/Profiles/LauncherProfile.h:1080
Scope (from outer to inner):
file
class class FLauncherProfile final : public ILauncherProfile
function virtual bool Serialize
Source code excerpt:
if (Version >= LAUNCHERSERVICES_ADDEDMAKEBINARYCONFIG)
{
Archive << bMakeBinaryConfig;
}
if (Version >= LAUNCHERSERVICES_ADDEDREFERENCECONTAINERS)
{
Archive << ReferenceContainerGlobalFileName;
Archive << ReferenceContainerCryptoKeysFileName;
#Loc: <Workspace>/Engine/Source/Developer/LauncherServices/Private/Profiles/LauncherProfile.h:1247
Scope (from outer to inner):
file
class class FLauncherProfile final : public ILauncherProfile
function virtual void Save
Source code excerpt:
Writer.WriteValue("IncludePrerequisites", IncludePrerequisites);
Writer.WriteValue("UseIoStore", bUseIoStore);
Writer.WriteValue("MakeBinaryConfig", bMakeBinaryConfig);
Writer.WriteValue("BuildTargetSpecified", BuildTargetSpecified);
Writer.WriteValue("BuildTargetName", BuildTargetName);
// serialize the default launch role
DefaultLaunchRole->Save(Writer, TEXT("DefaultRole"));
#Loc: <Workspace>/Engine/Source/Developer/LauncherServices/Private/Profiles/LauncherProfile.h:1944
Scope (from outer to inner):
file
class class FLauncherProfile final : public ILauncherProfile
function virtual bool Load
Source code excerpt:
if (Version >= LAUNCHERSERVICES_ADDEDMAKEBINARYCONFIG)
{
bMakeBinaryConfig = Object.GetBoolField(TEXT("MakeBinaryConfig"));
}
if (Version >= LAUNCHERSERVICES_ADDBUILDTARGETNAME)
{
BuildTargetSpecified = Object.GetBoolField(TEXT("BuildTargetSpecified"));
BuildTargetName = Object.GetStringField(TEXT("BuildTargetName"));
#Loc: <Workspace>/Engine/Source/Developer/LauncherServices/Private/Profiles/LauncherProfile.h:2102
Scope (from outer to inner):
file
class class FLauncherProfile final : public ILauncherProfile
function virtual void SetDefaults
Source code excerpt:
bShouldUpdateFlash = false;
bIsDeviceASimulator = false;
bMakeBinaryConfig = false;
RefreshValidBuildTargets();
Validate();
}
virtual void SetBuildMode(ELauncherProfileBuildModes::Type Mode) override
#Loc: <Workspace>/Engine/Source/Developer/LauncherServices/Private/Profiles/LauncherProfile.h:2648
Scope (from outer to inner):
file
class class FLauncherProfile final : public ILauncherProfile
function virtual void SetMakeBinaryConfig
Source code excerpt:
virtual void SetMakeBinaryConfig(bool bInMakeBinaryConfig) override
{
bMakeBinaryConfig = bInMakeBinaryConfig;
}
virtual bool MakeBinaryConfig() const override
{
return bMakeBinaryConfig;
}
virtual TArray<FString> GetExplicitBuildTargetNames() const override
{
return ExplictBuildTargetNames;
}
#Loc: <Workspace>/Engine/Source/Developer/LauncherServices/Private/Profiles/LauncherProfile.h:3262
Scope (from outer to inner):
file
class class FLauncherProfile final : public ILauncherProfile
Source code excerpt:
// Make binary config.
bool bMakeBinaryConfig;
// Update flash on device before running
bool bShouldUpdateFlash;
// Is the launch device actually a Simulator
bool bIsDeviceASimulator;
#Loc: <Workspace>/Engine/Source/Developer/LauncherServices/Public/ILauncherProfile.h:1370
Scope (from outer to inner):
file
class class ILauncherProfile
Source code excerpt:
/**
* Sets whether to make a binary config file during packaging
* @param bMakeBinaryConfig Whether to make a binary config file during staging
*/
virtual void SetMakeBinaryConfig(bool bMakeBinaryConfig) = 0;
/**
* Make binary config file during staging or not.
*
* @return true to make binary config file
*/
virtual bool MakeBinaryConfig() const = 0;