Slate Buttons Not Appearing

I’m trying to create new menu that you can toggle on and off. Although it registers the click and doesn’t crash. The new menu doesn’t appear. Im basing this off the strategy menu toggle menu code. The toggle location button calls the appropriate method and the booleans are set correctly. The buttons should become visible.

//original code
			/* Result screen } */
			+SOverlay::Slot() // pause menu background overlay
			.VAlign(VAlign_Fill)
			.HAlign(HAlign_Fill)
			[
				SNew(SBorder)
				.Visibility(this, &SStrategySlateHUDWidget::GetPauseMenuBgVisibility)
				.VAlign(VAlign_Fill)
				.HAlign(HAlign_Fill)
				.BorderImage(FCoreStyle::Get().GetBrush("BlackBrush"))
				.BorderBackgroundColor(this, &SStrategySlateHUDWidget::GetOverlayColor)
				[
					SNew(SOverlay)
					// Return to main
					+SOverlay::Slot()
					.VAlign(VAlign_Center)
					.HAlign(HAlign_Center)
					[
						SAssignNew(MenuBox, SVerticalBox)
						+SVerticalBox::Slot()
						[
							SAssignNew(PauseMenuButtons[ButtonIndex++], SStrategyButtonWidget)
							.OwnerHUD(OwnerHUD)
							.Visibility(EVisibility::Visible)
							.TextFont(FStrategyStyle::Get().GetFontStyle(TEXT("StrategyGame.MenuFont")))
							.TextVAlign(EVerticalAlignment::VAlign_Center)
							.TextMargin(FMargin(0))
							.ButtonText(NSLOCTEXT("SStrategySlateHUDWidget", "MainMenu", "Main Menu"))
							.OnClicked(this, &SStrategySlateHUDWidget::OnReturnToMainMenu)
						]
					]
					
				]
			]
			
			+SOverlay::Slot()
			.VAlign(VAlign_Bottom)
			.HAlign(HAlign_Right)
			.Padding(FMargin(0,0,20,20))
			[
				SAssignNew(PauseButton,SStrategyButtonWidget)
				.OwnerHUD(OwnerHUD)
				.Visibility(EVisibility::Visible)
				.OnClicked(this, &SStrategySlateHUDWidget::TogglePauseMenu)
				.ButtonText(FText::GetEmpty())
			]
			//original code
			//new code based off one uptop
			+ SOverlay::Slot()
			.VAlign(VAlign_Top)
			.HAlign(HAlign_Left)
			.Padding(FMargin(0, 0, 20, 20))
			[
					SAssignNew(LocationButton, SStrategyButtonWidget)
					.OwnerHUD(OwnerHUD)
				.Visibility(EVisibility::Visible)
				.OnClicked(this, &SStrategySlateHUDWidget::ToggleLocationMenu)
				.ButtonText(NSLOCTEXT("SStrategySlateHUDWidget", "Highland", "Highland"))
			]
			+ SOverlay::Slot()
			.VAlign(VAlign_Top)
			.HAlign(HAlign_Center)
			[
				SNew(SBorder)
				.Visibility(EVisibility::Visible)
				.VAlign(VAlign_Fill)
				.HAlign(HAlign_Fill)
				.BorderImage(FCoreStyle::Get().GetBrush("BlackBrush"))
				.BorderBackgroundColor(this, &SStrategySlateHUDWidget::GetOverlayColor)
				[
					SNew(SOverlay)
					// Return to main
					+ SOverlay::Slot()
					.VAlign(VAlign_Center)
					.HAlign(HAlign_Center)
					.Padding(FMargin(0, 0, 600, 300))
					[
						SAssignNew(LocationMenu, SVerticalBox)
						+ SVerticalBox::Slot()
						[
							SAssignNew(LocationMenuButtons[LocationButtonInd++], SStrategyButtonWidget)
							.OwnerHUD(OwnerHUD)
							.Visibility(EVisibility::Visible)
							.TextFont(FStrategyStyle::Get().GetFontStyle(TEXT("StrategyGame.MenuFont")))
							.TextVAlign(EVerticalAlignment::VAlign_Center)
							.TextMargin(FMargin(0))
							.ButtonText(NSLOCTEXT("SStrategySlateHUDWidget", "Highland", "Highland"))
							.OnClicked(this, &SStrategySlateHUDWidget::OnHighlandPick)
						]
					]
				]
			]
			//end new code


FReply SStrategySlateHUDWidget::ToggleLocationMenu()
{
	UE_LOG(LogTemp, Warning, TEXT("Locationasdf"));
	AMyGameState* const MyGameState = OwnerHUD->GetWorld()->GetGameState<AMyGameState>();
	if (MyGameState != NULL)
	{
		
		const FStrategyHUDSoundsStyle& HUDSounds = FStrategyStyle::Get().GetWidgetStyle<FStrategyHUDSoundsStyle>("DefaultStrategyHUDSoundsStyle");
		FSlateApplication::Get().PlaySound(HUDSounds.MenuItemChangeSound);
		if (bIsLocationPicked == false)
			bAreLocationDisplayed = !bAreLocationDisplayed;
		else if (bIsLocationPicked == true)
			bAreLocationDisplayed = false;
		//Do not trigger pause when game is already finished
		if (MyGameState->GameplayState != EGameplayState::Finished)
		{
			MyGameState->OnPickLocation(bAreLocationDisplayed); //setlocationpicked game state
		}
		if (MyGameState->GameplayState == EGameplayState::MiniGame)
		{
			bIsLocationPicked = false;
		}
		UE_LOG(LogTemp, Warning, TEXT("Location is %s"), bAreLocationDisplayed ? TEXT("true"):TEXT("false"));
		UE_LOG(LogTemp, Warning, TEXT("Location %d"), LocationMenuButtons.Num());
		for (uint8 i = 0; i < LocationMenuButtons.Num(); i++)
		{
			if (bAreLocationDisplayed)
			{
				LocationMenuButtons[i]->DeferredShow();
			}
			else
			{
				LocationMenuButtons[i]->DeferredHide();
			}
		}
		if (bIsLocationPicked == true)
			MyGameState->OnReview();
	}
	return FReply::Handled();;
}