diff --git a/Source/NDisplayLaunchButton/Private/NDisplayLaunchButton.cpp b/Source/NDisplayLaunchButton/Private/NDisplayLaunchButton.cpp
index c400aed5ab2ac0f6dd546af40c51b2c8036eb352..aecc2ef83c528777eeaf0938ccc7948ebf262e99 100644
--- a/Source/NDisplayLaunchButton/Private/NDisplayLaunchButton.cpp
+++ b/Source/NDisplayLaunchButton/Private/NDisplayLaunchButton.cpp
@@ -138,59 +138,24 @@ void FNDisplayLaunchButtonModule::PluginButtonClicked()
GEngine->AddOnScreenDebugMessage(-1, 3, FColor::White, TEXT("The Button is set to do nothing."));
return;
}
+
FString InsightParameters = "";
if(Settings->bEnableInsights)
{
- if (Settings->bStatNamedEvents)
- {
- InsightParameters.Append("-statnamedevents");
- }
- FString TraceChannels = "";
- if (Settings->bLog)
- {
- TraceChannels.Append("log,");
- }
- if (Settings->bBookmark)
- {
- TraceChannels.Append("bookmark,");
- }
- if (Settings->bFrame)
- {
- TraceChannels.Append("frame,");
- }
- if (Settings->bCPU)
- {
- TraceChannels.Append("cpu,");
- }
- if (Settings->bGPU)
- {
- TraceChannels.Append("gpu,");
- }
- if (Settings->bLoadTime)
- {
- TraceChannels.Append("loadtime,");
- }
- if (Settings->bFile)
- {
- TraceChannels.Append("file,");
- }
- if (Settings->bNet)
- {
- TraceChannels.Append("net,");
- }
- if (TraceChannels.Len() > 0)
- {
- // There's probably a better way of doing this...
- TraceChannels.RemoveFromEnd(",");
- InsightParameters.Append(" -trace=");
- InsightParameters.Append(TraceChannels);
- }
- if (Settings->TracehostIP.Len() > 0)
- {
- InsightParameters.Append(" -tracehost=");
- InsightParameters.Append(Settings->TracehostIP);
- }
- InsightParameters.RemoveFromStart(" ");
+ if (Settings->bStatNamedEvents) InsightParameters.Append("-statnamedevents");
+
+ TArray<FString> TraceChannels;
+ if (Settings->bLog) TraceChannels.Add("log");
+ if (Settings->bBookmark) TraceChannels.Add("bookmark");
+ if (Settings->bFrame) TraceChannels.Add("frame");
+ if (Settings->bCPU) TraceChannels.Add("cpu");
+ if (Settings->bGPU) TraceChannels.Add("gpu");
+ if (Settings->bLoadTime) TraceChannels.Add("loadtime");
+ if (Settings->bFile) TraceChannels.Add("file");
+ if (Settings->bNet) TraceChannels.Add("net");
+ if (TraceChannels.Num() > 0) InsightParameters.Append(FString::Printf(TEXT(" -trace=%s"), *FString::Join(TraceChannels, TEXT(","))));
+
+ if (Settings->TracehostIP.Len() > 0) InsightParameters.Append(FString::Printf(TEXT(" -tracehost=%s"), *Settings->TracehostIP));
}
/* Disable Plugins temporarily */
diff --git a/Source/NDisplayLaunchButton/Public/NDisplayLaunchButtonSettings.h b/Source/NDisplayLaunchButton/Public/NDisplayLaunchButtonSettings.h
index 187ffd80fef402dc5fd1cd709355877beadb9052..538bb468f1577f80fa27a28e2c2734bae9908d55 100644
--- a/Source/NDisplayLaunchButton/Public/NDisplayLaunchButtonSettings.h
+++ b/Source/NDisplayLaunchButton/Public/NDisplayLaunchButtonSettings.h
@@ -34,9 +34,6 @@ public:
UPROPERTY(EditAnywhere, config, Category = "General", meta = (DisplayName = "Start "))
TEnumAsByte<ButtonLaunchType> LaunchType = ButtonLaunchType_MiniCAVE;
- UPROPERTY(EditAnywhere, config, Category = "General", meta = (DisplayName = "Unreal Insights "))
- bool bEnableInsights = false;
-
/*
* TwoScreen Options
*/
@@ -137,6 +134,8 @@ public:
/*
* Insights Options
*/
+ UPROPERTY(EditAnywhere, config, Category = "General|Insights", meta = (DisplayName = "Unreal Insights "))
+ bool bEnableInsights = false;
UPROPERTY(EditAnywhere, config, Category = "General|Insights", meta = (DisplayName = "Stat Named Events", EditCondition = "bEnableInsights==true"))
bool bStatNamedEvents = true;
UPROPERTY(EditAnywhere, config, Category = "General|Insights", meta = (DisplayName = "Tracehost IP", EditCondition = "bEnableInsights==true"))