bUseRSync
bUseRSync
#Overview
name: bUseRSync
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 4
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of bUseRSync is to enable or disable the use of RSync for remote builds on a Mac when developing for iOS platforms using Unreal Engine 5.
This setting variable is primarily used by the iOS platform-specific modules of Unreal Engine, specifically within the IOSPlatformEditor and IOSRuntimeSettings subsystems. These modules are responsible for managing iOS-specific build and runtime settings.
The value of this variable is set in the UIOSRuntimeSettings constructor (IOSRuntimeSettings.cpp) with a default value of true. It can be modified through the Unreal Engine editor’s project settings interface for iOS.
bUseRSync interacts with other iOS-specific variables such as RSyncUsername, RemoteServerName, and SecondaryRSyncUsername. These variables work together to configure the remote build process for iOS projects.
Developers must be aware that this variable affects the method used for transferring files during remote builds. When enabled, it uses RSync, which can be more efficient for incremental builds by only transferring changed files.
Best practices when using this variable include:
- Ensure that RSync is properly set up on both the local and remote machines.
- Configure the related settings (RSyncUsername, RemoteServerName) correctly for your development environment.
- Consider disabling it if you encounter issues with RSync or if your network setup doesn’t support it efficiently.
- Keep in mind that changing this setting may require adjustments to your build scripts or processes.
#Setting Variables
#References In INI files
Location: <Workspace>/Engine/Config/BaseEngine.ini:2996, section: [/Script/IOSRuntimeSettings.IOSRuntimeSettings]
- INI Section:
/Script/IOSRuntimeSettings.IOSRuntimeSettings
- Raw value:
True
- Is Array:
False
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Developer/IOS/IOSPlatformEditor/Private/IOSTargetSettingsCustomization.cpp:958
Scope (from outer to inner):
file
function void FIOSTargetSettingsCustomization::BuildRemoteBuildingSection
Source code excerpt:
// Add Use RSync Property
TSharedRef<IPropertyHandle> UseRSyncPropertyHandle = DetailLayout.GetProperty(GET_MEMBER_NAME_CHECKED(UIOSRuntimeSettings, bUseRSync));
BuildCategory.AddProperty(UseRSyncPropertyHandle)
.Visibility(EVisibility::Hidden);
// Add RSync Username Property
TSharedRef<IPropertyHandle> RSyncUsernamePropertyHandle = DetailLayout.GetProperty(GET_MEMBER_NAME_CHECKED(UIOSRuntimeSettings, RSyncUsername));
IDetailPropertyRow& RSyncUsernamePropertyRow = RemoteBuildingGroup.AddPropertyRow(RSyncUsernamePropertyHandle);
#Loc: <Workspace>/Engine/Source/Developer/IOS/IOSPlatformEditor/Private/IOSTargetSettingsCustomization.cpp:1101
Scope (from outer to inner):
file
function void FIOSTargetSettingsCustomization::BuildSecondaryRemoteMacBuildingSection
Source code excerpt:
// Add Use RSync Property
TSharedRef<IPropertyHandle> UseRSyncPropertyHandle = DetailLayout.GetProperty(GET_MEMBER_NAME_CHECKED(UIOSRuntimeSettings, bUseRSync));
BuildCategory.AddProperty(UseRSyncPropertyHandle)
.Visibility(EVisibility::Hidden);
// Add RSync Username Property
TSharedRef<IPropertyHandle> RSyncUsernamePropertyHandle = DetailLayout.GetProperty(GET_MEMBER_NAME_CHECKED(UIOSRuntimeSettings, SecondaryRSyncUsername));
IDetailPropertyRow& RSyncUsernamePropertyRow = RemoteBuildingGroup.AddPropertyRow(RSyncUsernamePropertyHandle);
#Loc: <Workspace>/Engine/Source/Runtime/IOS/IOSRuntimeSettings/Classes/IOSRuntimeSettings.h:284
Scope (from outer to inner):
file
class class UIOSRuntimeSettings : public UObject
Source code excerpt:
// Enable the use of RSync for remote builds on a mac
UPROPERTY(GlobalConfig, EditAnywhere, Category = "Remote Build", meta = (DisplayName = "Use RSync for building IOS", ConfigHierarchyEditable))
bool bUseRSync;
// The name or ip address of the remote mac which will be used to build IOS
UPROPERTY(GlobalConfig, EditAnywhere, Category = "Remote Build", meta = (ConfigHierarchyEditable))
FString RemoteServerName;
// The mac users name which matches the SSH Private Key, for remote builds using RSync.
#Loc: <Workspace>/Engine/Source/Runtime/IOS/IOSRuntimeSettings/Private/IOSRuntimeSettings.cpp:47
Scope (from outer to inner):
file
function UIOSRuntimeSettings::UIOSRuntimeSettings
Source code excerpt:
bGenerateXCArchive = false;
bSupportSecondaryMac = false;
bUseRSync = true;
bCustomLaunchscreenStoryboard = false;
AdditionalPlistData = TEXT("");
AdditionalLinkerFlags = TEXT("");
AdditionalShippingLinkerFlags = TEXT("");
bGameSupportsMultipleActiveControllers = false;
bAllowRemoteRotation = true;