ConnectionHelpUrl
ConnectionHelpUrl
#Overview
name: ConnectionHelpUrl
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 ConnectionHelpUrl is to provide a URL for additional documentation or help regarding the connection to the revision control server in Unreal Engine’s virtualization system. This variable is used to assist developers when they encounter connection issues with the virtualization revision control server.
This setting variable is primarily used in the Virtualization module of Unreal Engine. It is referenced in the SVirtualizationRevisionControlConnectionDialog and VirtualizationManager classes, which are part of the UE::Virtualization namespace.
The value of this variable is set in the ApplySettingsFromConfigFiles function of the VirtualizationManager class. It reads the value from a configuration file using the key “ConnectionHelpUrl” in the specified ConfigSection.
The ConnectionHelpUrl interacts with other UI elements and error handling mechanisms. It is used to populate a hyperlink in the revision control connection dialog and is included in error messages when connection issues occur.
Developers should be aware that:
- This URL is optional and can be left empty.
- The URL is not echoed to the log file for security reasons.
- It’s used in both the UI (as a clickable hyperlink) and in error messages.
Best practices when using this variable include:
- Ensure the URL is up-to-date and points to relevant, helpful documentation.
- Consider the security implications of the URL content, as it may be visible to users.
- Regularly review and update the URL in the configuration files to maintain its relevance.
- Use this URL to provide specific, actionable guidance for resolving common connection issues.
#Setting Variables
#References In INI files
Location: <Workspace>/Engine/Config/BaseEngine.ini:1479, section: [Core.VirtualizationModule]
- INI Section:
Core.VirtualizationModule
- Raw value:
""
- Is Array:
False
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Developer/Virtualization/Private/SVirtualizationRevisionControlConnectionDialog.cpp:92
Scope (from outer to inner):
file
namespace UE::Virtualization
function void SRevisionControlConnectionDialog::Construct
Source code excerpt:
WindowWidget = InArgs._Window;
const FString ConnectionHelpUrl = FVirtualizationManager::GetConnectionHelpUrl();
ConfigSectionName = InConfigSectionName;
FText MessagePt1 = FText::Format(LOCTEXT("VASCMsgPt1", "Failed to connect to the {0} revision control server with the following errors:"), FText::FromStringView(RevisionControlName));
FText MessagePt2 = FText::Format(LOCTEXT("VASCMsgPt2", "This may prevent you from loading virtualized assets in the future!\nPlease enter the correct {0} revision control settings below:"), FText::FromStringView(RevisionControlName));
const FText PortToolTip = FText::Format(LOCTEXT("PortLabel_Tooltip", "The server and port for your {0} server. Usage ServerName:1234."), FText::FromStringView(RevisionControlName));
#Loc: <Workspace>/Engine/Source/Developer/Virtualization/Private/SVirtualizationRevisionControlConnectionDialog.cpp:241
Scope (from outer to inner):
file
namespace UE::Virtualization
function void SRevisionControlConnectionDialog::Construct
Source code excerpt:
SNew(SHyperlink)
.Text(LOCTEXT("VASCHelpUrl", "Click here for additional documentation"))
.ToolTipText(FText::FromString(ConnectionHelpUrl))
.OnNavigate(this, &SRevisionControlConnectionDialog::OnUrlClicked)
.Visibility_Lambda([ConnectionHelpUrl] { return !ConnectionHelpUrl.IsEmpty() ? EVisibility::Visible : EVisibility::Hidden; })
]
+ SVerticalBox::Slot()
.Padding(FMargin(0.0f, 16.0f, 16.0f, 16.0f))
.AutoHeight()
[
SNew(SHorizontalBox)
#Loc: <Workspace>/Engine/Source/Developer/Virtualization/Private/SVirtualizationRevisionControlConnectionDialog.cpp:341
Scope (from outer to inner):
file
namespace UE::Virtualization
function void SRevisionControlConnectionDialog::OnUrlClicked
Source code excerpt:
void SRevisionControlConnectionDialog::OnUrlClicked() const
{
const FString ConnectionHelpUrl = FVirtualizationManager::GetConnectionHelpUrl();
FPlatformProcess::LaunchURL(*ConnectionHelpUrl, nullptr, nullptr);
}
} // namespace UE::Virtualization
#undef LOCTEXT_NAMESPACE
#Loc: <Workspace>/Engine/Source/Developer/Virtualization/Private/VirtualizationManager.cpp:529
Scope (from outer to inner):
file
namespace UE::Virtualization
Source code excerpt:
} //namespace Profiling
FString FVirtualizationManager::ConnectionHelpUrl;
FVirtualizationManager::FVirtualizationManager()
: bAllowPackageVirtualization(true)
, CachingPolicy(ECachingPolicy::AlwaysCache)
, MinPayloadLength(0)
, BackendGraphName(TEXT("ContentVirtualizationBackendGraph_None"))
#Loc: <Workspace>/Engine/Source/Developer/Virtualization/Private/VirtualizationManager.cpp:1210
Scope (from outer to inner):
file
namespace UE::Virtualization
function void FVirtualizationManager::ApplySettingsFromConfigFiles
Source code excerpt:
{
ConfigFile.GetString(ConfigSection, TEXT("ConnectionHelpUrl"), ConnectionHelpUrl);
// This value is not echoed to the log file
}
{
ConfigFile.GetBool(ConfigSection, TEXT("ForceCachingOnPull"), bForceCachingOnPull);
UE_LOG(LogVirtualization, Display, TEXT("\tForceCachingOnPull : %s"), bForceCachingOnPull ? TEXT("true") : TEXT("false"));
#Loc: <Workspace>/Engine/Source/Developer/Virtualization/Private/VirtualizationManager.cpp:2338
Scope (from outer to inner):
file
namespace UE::Virtualization
function FString FVirtualizationManager::GetConnectionHelpUrl
Source code excerpt:
FString FVirtualizationManager::GetConnectionHelpUrl()
{
return ConnectionHelpUrl;
}
} // namespace UE::Virtualization
#undef UE_INLINE_ALLOCATION_COUNT
#undef LOCTEXT_NAMESPACE
#Loc: <Workspace>/Engine/Source/Developer/Virtualization/Private/VirtualizationManager.h:344
Scope (from outer to inner):
file
namespace UE::Virtualization
class class FVirtualizationManager final : public IVirtualizationSystem
Source code excerpt:
/** Optional url used to augment connection failure error messages */
static FString ConnectionHelpUrl;
/** The number of times to retry pulling when errors are encountered in an unattended process, values <0 disable the system */
int32 UnattendedRetryCount = 0;
/** The how long (in seconds) to wait after payload pulling errors before retrying. Does nothing if 'UnattendedRetryCount' is disabled */
int32 UnattendedRetryTimer = 0;
#Loc: <Workspace>/Engine/Source/Developer/Virtualization/Private/VirtualizationSourceControlBackend.cpp:1254
Scope (from outer to inner):
file
function void FSourceControlBackend::OnConnectionError
Source code excerpt:
TokenizedMsg->AddToken(FTextToken::Create(UserMessage));
FString ConnectionHelpUrl = FVirtualizationManager::GetConnectionHelpUrl();
if (!ConnectionHelpUrl.IsEmpty())
{
TokenizedMsg->AddToken(FURLToken::Create(ConnectionHelpUrl, LOCTEXT("URL", "Additional connection help")));
}
if (::IsInGameThread())
{
// If we are on the game thread we can post the error message immediately