# UserWidget never Ticks

**URL:** <https://forums.unrealengine.com/t/userwidget-never-ticks/309802>\
**Category:** UI\
**Tags:** tick, unreal-engine, UI, CPP, question, UMG\
**Created:** [March 7, 2015, 4:08pm UTC](https://forums.unrealengine.com/t/userwidget-never-ticks/309802 "2015-03-07T16:08:15Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Janyx](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Janyx](https://forums.unrealengine.com/u/Janyx)\
**Post date:** [March 7, 2015, 4:08pm UTC](https://forums.unrealengine.com/t/userwidget-never-ticks/309802/1 "2015-03-07T16:08:15Z")

</div>

I defined a tick function in my custom widget as so:

```
UCLASS()
class THEARENA_API UArenaFriendsList : public UUserWidget
{
	GENERATED_BODY()

public:

        void Tick(const FGeometry& AllottedGeometry, const double InCurrentTime, const float InDeltaTime);

        // . . .
}

```

then in the cpp this is what I want tick to do:

```
void UArenaFriendsList::Tick(const FGeometry& AllottedGeometry, const double InCurrentTime, const float InDeltaTime)
{
	if (bSearchingForServers)
	{
		UpdateSearchStatus();
	}
}

```

However the tick function is never being called. What do I need to do to make it tick?

---

<div class="post-metadata">

**Author:** ![DarthB](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@DarthB](https://forums.unrealengine.com/u/DarthB)\
**Post date:** [March 15, 2015, 5:09pm UTC](https://forums.unrealengine.com/t/userwidget-never-ticks/309802/2 "2015-03-15T17:09:36Z")

</div>

In short override the Tick\_Implementation method and use the parameter list defined for the Tick method. You are currently using another signature as in my current 4.7.2 headers.

Put this in your header:

```
virtual void Tick_Implementation(FGeometry MyGeometry, float InDeltaTime) override; 

```

and this in your cpp file:

```
void UArenaFriendsList::Tick_Implementation(FGeometry AllottedGeometry, float InDeltaTime)
 {
     if (bSearchingForServers)
     {
         UpdateSearchStatus();
     }
 }

```

You have to use the method with the \_Implementation postfix because Tick is defined as BlueprintNativeEvent. That means it is handled by the UnrealHeaderTool and code is generated to link the calls correctly if you’re generating an dervided blueprint class.

Content of Engine Code (UserWidget.h)

```
UFUNCTION(BlueprintNativeEvent, BlueprintCosmetic, Category="User Interface")

```

Have a nice Day!

DarthB
