Files
UnrealEngineUWP/Engine/Source/Developer/Virtualization/Virtualization.Build.cs

42 lines
743 B
C#
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
using System.IO;
public class Virtualization : ModuleRules
{
public Virtualization(ReadOnlyTargetRules Target) : base(Target)
{
UnsafeTypeCastWarningLevel = WarningLevel.Error;
PrivateIncludePathModuleNames.Add("Analytics");
PrivateDependencyModuleNames.AddRange(
new string[] {
"Core",
"CoreUObject",
"DerivedDataCache",
"Projects",
"SourceControl"
}
);
Now if the VA source control backend fails to connect we can display a dialog to the user asking for the correct credentials directly. Currently disabled by default. #rb none ### Dialog - When the source control backend tries to connect and fails we will now show a dialog allowing the user to try new settings rather than let the editor continue and crash. - The dialog will allow the user to enter the server address (P4PORT) and their username (P4USER). - Once the dialog is displayed the user will have three options to continue. -- "Reset To Defaults" which will remove all settings saved to the users local ini files and attempt to use the environment defaults to connect. -- "Retry Connection" which will take the new address and username that the user provided and attempt to connect with those settings. -- "Skip" no connection attempt will be made. This may cause instability later if the user needs data that they cannot access. - If the connection succeeds after the user has reset to defaults or provided new settings, then they will be saved in the local ini file for future sessions. - The dialog will not show if: -- Slate is disabled for the current processor has not yet initialized -- The error is found not on the game thread. This means that lazy init will not currently work well with this dialog. Attempts to mashal the error to the game thread have been spotty at best and there is a high chance of thread locking so attempts were abandoned. -- If the -unattended flag is set on the process. -- If the dialog is disabled via the config file when setting up the backend (UseRetryConnectionDialog=False) -- If 'engine.ini:[Core.VirtualizationModule]:UseLocalIniFileSettings' is false as future sessions would not be able to use the new settings and would become tiresome. In these cases the environment settings will need to be fixed. - If the dialog is now shown then the backend is marked as unconnected and will not work. ### Known Issues - We currently cannot get the settings that the failed p4 connection used, nor the error message dueto how the API works. So for now we just display an empty server address and username edit box. This will be fixed when the API is changed. - There is currently no good way to inform the user where their settings come from. - There is no easy way to reset the settings once saved. To allow the user to change the server address to a better proxy for example. ### Initialization - In order to allow a slate dialog to be used, the initialization of the VA system has been moved later in pre init, to the first avaliable point after slate has initialized and its shaders have been built. This in theory should not cause a a problem as engine content cannot be virtualized. -- Added a new option 'engine.ini:[Core.ContentVirtualization]:InitPreSlate' with a default of false. When set to true the VA system will initialize in the original, earlier portion of engine pre init. This is only included in case an existing virtualized project encounters a problem with the new ordering. [CL 26115392 by paul chipchase in ue5-main branch]
2023-06-20 04:26:06 -04:00
if (Target.bUsesSlate)
{
PrivateDependencyModuleNames.AddRange(
new string[] {
"MessageLog",
"Slate",
"SlateCore"
}
);
Now if the VA source control backend fails to connect we can display a dialog to the user asking for the correct credentials directly. Currently disabled by default. #rb none ### Dialog - When the source control backend tries to connect and fails we will now show a dialog allowing the user to try new settings rather than let the editor continue and crash. - The dialog will allow the user to enter the server address (P4PORT) and their username (P4USER). - Once the dialog is displayed the user will have three options to continue. -- "Reset To Defaults" which will remove all settings saved to the users local ini files and attempt to use the environment defaults to connect. -- "Retry Connection" which will take the new address and username that the user provided and attempt to connect with those settings. -- "Skip" no connection attempt will be made. This may cause instability later if the user needs data that they cannot access. - If the connection succeeds after the user has reset to defaults or provided new settings, then they will be saved in the local ini file for future sessions. - The dialog will not show if: -- Slate is disabled for the current processor has not yet initialized -- The error is found not on the game thread. This means that lazy init will not currently work well with this dialog. Attempts to mashal the error to the game thread have been spotty at best and there is a high chance of thread locking so attempts were abandoned. -- If the -unattended flag is set on the process. -- If the dialog is disabled via the config file when setting up the backend (UseRetryConnectionDialog=False) -- If 'engine.ini:[Core.VirtualizationModule]:UseLocalIniFileSettings' is false as future sessions would not be able to use the new settings and would become tiresome. In these cases the environment settings will need to be fixed. - If the dialog is now shown then the backend is marked as unconnected and will not work. ### Known Issues - We currently cannot get the settings that the failed p4 connection used, nor the error message dueto how the API works. So for now we just display an empty server address and username edit box. This will be fixed when the API is changed. - There is currently no good way to inform the user where their settings come from. - There is no easy way to reset the settings once saved. To allow the user to change the server address to a better proxy for example. ### Initialization - In order to allow a slate dialog to be used, the initialization of the VA system has been moved later in pre init, to the first avaliable point after slate has initialized and its shaders have been built. This in theory should not cause a a problem as engine content cannot be virtualized. -- Added a new option 'engine.ini:[Core.ContentVirtualization]:InitPreSlate' with a default of false. When set to true the VA system will initialize in the original, earlier portion of engine pre init. This is only included in case an existing virtualized project encounters a problem with the new ordering. [CL 26115392 by paul chipchase in ue5-main branch]
2023-06-20 04:26:06 -04:00
PublicDefinitions.Add("UE_VA_WITH_SLATE=1");
}
else
{
PublicDefinitions.Add("UE_VA_WITH_SLATE=0");
}
}
}