bSupportSecondaryMac
bSupportSecondaryMac
#Overview
name: bSupportSecondaryMac
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 3
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of bSupportSecondaryMac is to enable support for a secondary remote Mac to facilitate iOS/tvOS debug and build processes in Unreal Engine 5. This setting is specifically related to the iOS and tvOS platforms’ development and deployment workflows.
This setting variable is primarily used in the IOS Runtime Settings module and the Turnkey Support module of Unreal Engine 5. These modules are responsible for managing iOS-specific runtime configurations and streamlining the build and deployment process for iOS and tvOS platforms.
The value of this variable is set in the IOSRuntimeSettings class, which is defined in the IOSRuntimeSettings.h file. It is declared as a UPROPERTY with the GlobalConfig and EditAnywhere attributes, allowing it to be configured through the Unreal Engine editor interface.
There are other variables that interact with bSupportSecondaryMac, such as SecondaryRemoteServerName, which specifies the name or IP address of the secondary remote Mac. These related variables are typically only editable when bSupportSecondaryMac is set to true.
Developers must be aware that enabling this option will affect the build and deployment process for iOS and tvOS projects. When enabled, it allows the use of a secondary Mac for building and debugging, which can be useful in certain development setups or team environments.
Best practices when using this variable include:
- Only enable it if you actually need to use a secondary Mac for iOS/tvOS development.
- Ensure that the secondary Mac is properly configured and accessible on the network.
- Properly set up the related variables like SecondaryRemoteServerName when enabling this option.
- Consider the impact on your build and deployment workflows when enabling or disabling this feature.
- Regularly review and update this setting as your development environment and needs change.
#Setting Variables
#References In INI files
Location: <Workspace>/Engine/Config/BaseEngine.ini:3021, section: [/Script/IOSRuntimeSettings.IOSRuntimeSettings]
- INI Section:
/Script/IOSRuntimeSettings.IOSRuntimeSettings
- 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/Editor/TurnkeySupport/Private/TurnkeySupportModule.cpp:522
Scope (from outer to inner):
file
class class FTurnkeySupportCallbacks
function static void CookOrPackage
Source code excerpt:
if (IniPlatformName == TEXT("IOS") || IniPlatformName == TEXT("TvOS"))
{
bool bSupportSecondaryMac = false;
GConfig->GetBool(TEXT("/Script/IOSRuntimeSettings.IOSRuntimeSettings"), TEXT("bSupportSecondaryMac"), bSupportSecondaryMac, GEngineIni);
if (bSupportSecondaryMac)
{
FString OtherCommandLine = FString::Printf(TEXT("SetSecondaryRemoteMac -platform=%s -ProjectFilePath=%s"), *IniPlatformName.ToString().ToLower(), *ProjectPath);
FTurnkeyEditorSupport::RunUAT(OtherCommandLine, PlatformInfo->DisplayName, ContentPrepDescription, ContentPrepTaskName, ContentPrepIcon, &AnalyticsParamArray);
}
else
{
#Loc: <Workspace>/Engine/Source/Runtime/IOS/IOSRuntimeSettings/Classes/IOSRuntimeSettings.h:312
Scope (from outer to inner):
file
class class UIOSRuntimeSettings : public UObject
Source code excerpt:
// Support a secondary remote Mac to support to facilitate iOS/tvOS debug ?
UPROPERTY(GlobalConfig, EditAnywhere, Category = "Remote Build", meta = (DisplayName = "Enable Secondary remote Mac"))
bool bSupportSecondaryMac;
// The name or ip address of the remote mac which will be used to build IOS
UPROPERTY(GlobalConfig, EditAnywhere, Category = "Remote Build", meta = (EditCondition = "bSupportSecondaryMac", ConfigHierarchyEditable))
FString SecondaryRemoteServerName;
// The secondary mac users name which matches the SSH Private Key, for remote builds using RSync.
#Loc: <Workspace>/Engine/Source/Runtime/IOS/IOSRuntimeSettings/Private/IOSRuntimeSettings.cpp:46
Scope (from outer to inner):
file
function UIOSRuntimeSettings::UIOSRuntimeSettings
Source code excerpt:
bGeneratedSYMBundle = false;
bGenerateXCArchive = false;
bSupportSecondaryMac = false;
bUseRSync = true;
bCustomLaunchscreenStoryboard = false;
AdditionalPlistData = TEXT("");
AdditionalLinkerFlags = TEXT("");
AdditionalShippingLinkerFlags = TEXT("");
bGameSupportsMultipleActiveControllers = false;