ToolTipWidget Bind button

UWidget’s ToolTipWidget Bind option is not drawn, can’t see any major differences between source of 4.26 and 5.

This is either a bugged binding draw or theres a new combination of options that I am not seeing in order to draw the bind again.

Have attempted to bind this function in C++
(Simply put)

void UInventoryItemWidget::NativeConstruct()
{
    Super::NativeConstruct();

	UPanelWidget* Panel = Cast<UPanelWidget>(GetRootWidget());
	Panel->ToolTipWidgetDelegate.BindUFunction(this, FName("GetToolTip"));
}


UWidget* UInventoryItemWidget::GetToolTip()
{
	UE_LOG(LogTemp, Warning, TEXT("GetToolTip"))

	if(Item == nullptr) return nullptr;

	ConstructedWidget = CreateWidget<UItemTooltip>(this, UItemTooltip::StaticClass());
	ConstructedWidget->InventoryItemWidget = this;

	return ConstructedWidget;
}

According to the BindUFunction it does find it, but it never gets called.


My solution has been to create the widget blueprint over in 4.26, create my initial binding and then copy the asset entirely over to my UE5 project.

1 Like

Hi Tyndareus,

I got the same problem, so I’ll bump up this post hoping someone at Epic notices the bug :wink:

You need to bind your function to ToolTipWidgetDelegate somewhere earlier than NativeConstruct(). Initialize() is fine. That’s because some tooltip widget-related magic happens in the parent’s SynchronizeProperties() which gets called BEFORE the NativeConstruct() but AFTER Initialize().

Also, make sure your GetToolTip() function is marked as UFUNCTION.

Btw I’m sorry to revive this ancient topic, but I ran into the exactly same issue yesterday and it took me hours to figure it out.

1 Like