How can I create custom shaped buttons in C++?

Hi,

I am creating my game menu and managed to create custom shaped buttons using blueprints , as shown below :

These give me nice looking transparent buttons with rounded edges , but , I want to utilize this texture to get the same effect in my C++ code , how to do this?, The code I wrote gives rectangular transparent button , I need to use this materials/textures with opacity , with proper rounded edges. A part of my current code is shown below :

    ChildSlot
	.VAlign(VAlign_Fill)
	.HAlign(HAlign_Fill)
	[
		SNew(SOverlay)
		+ SOverlay::Slot()
		.VAlign(VAlign_Top)
		.HAlign(HAlign_Center)
		[
			SNew(STextBlock)
			.ShadowColorAndOpacity(FLinearColor::Black)
			.ColorAndOpacity(FColor::FromHex("#BB9223FF"))
			.ShadowOffset(FIntPoint(-1, 1))
			.Font(FSlateFontInfo(FPaths::EngineContentDir() / TEXT("/EngineFonts/Barbarian.ttf"), 48))
			.Text(FText::FromString("The Forgotten Realm"))
		]

		+ SOverlay::Slot().Padding(FMargin(GameButtonLeftMargin, GameButtonTopMargin, GameButtonRightMargin, GameButtonBottomMargin))
		[
			SNew(SHorizontalBox).Visibility(EVisibility::Visible)
			+ SHorizontalBox::Slot()
			[
				SAssignNew(GameButton, SButton)
				.Cursor(EMouseCursor::Default)
				//	.OnClicked(this, &SDDFileTree::RefreshButtonPressed)
				.ButtonColorAndOpacity(FColor::FromHex(GamebuttonColor))
				[
					//Colored Background
					
						SAssignNew(GameButtonText, STextBlock)
						.Text(FString("New Game"))
						.Font(GamebuttonTextFont)
				     /*.Font(FSlateFontInfo(FPaths::EngineContentDir() / TEXT("Slate/Fonts/Roboto-Bold.ttf"), 16))*/
					 .ColorAndOpacity(FColor::FromHex(GamebuttonTextColor))
			       //.HighlightColor(FColor::FromHex("#B7D5FFFF"))
						.ShadowColorAndOpacity(FLinearColor::Black)
						.ShadowOffset(FIntPoint(1, -1))
					
				]

			]
		]