void TLevelViewportLayoutTwoPanes<TOrientation>::SaveLayoutString(const FString& LayoutString) const
{
	if (!bIsTransitioning)
	{
		FString SpecificLayoutString = GetTypeSpecificLayoutString(LayoutString);

		const FString& IniSection = FLayoutSaveRestore::GetAdditionalLayoutConfigIni();

		check (SplitterWidget->GetChildren()->Num() == 2);
		float Percentage = SplitterWidget->SlotAt(0).SizeValue.Get();

		GConfig->SetString(*IniSection, *(SpecificLayoutString + TEXT(".Percentage")), *TTypeToString<float>::ToString(Percentage), GEditorPerProjectIni);

		SaveCommonLayoutString(SpecificLayoutString);
	}
}
void FLevelViewportLayout2x2::SaveLayoutString(const FString& LayoutString) const
{
	if (!bIsTransitioning)
	{
		FString SpecificLayoutString = GetTypeSpecificLayoutString(LayoutString);

		const FString& IniSection = FLayoutSaveRestore::GetAdditionalLayoutConfigIni();

		TArray<FVector2D> Percentages;
		SplitterWidget->GetSplitterPercentages(Percentages);
		for (int32 i = 0; i < Percentages.Num(); ++i)
		{
			GConfig->SetString(*IniSection, *(SpecificLayoutString + FString::Printf(TEXT(".Percentages%i"), i)), *Percentages[i].ToString(), GEditorUserSettingsIni);
		}

		SaveCommonLayoutString(SpecificLayoutString);
	}
}