Adding Level Time to HUD

This is my 50th Tutorial!

In this quick tutorial I will add notification in HUD telling player how much time he need to survive.

This Tutorial has been created using Unreal Engine 4.10
Make sure you are working on the same version of the engine.

Live Stream

You can watch Live Stream of developing this Tutorial:

Updating ShooterGameInstance

Open ShooterGameInstance and add one new variable:

And one new function named SetCurrentLevel with one LevelData input:

Instance_SetCurrentLevel

Updating PatternManager

Open PatterManager and add those variables:

Var Name Var Type Default Value  Description
CustomLevelTime bool Editable. This will tell the manager to get the level time from GameInstance or should use MaximumLevelTime default.
LevelID int  Editable. ID of the level that manager was put in. If CustomLevelTime is false we will get the level from game instance using ID.

Open Event Graph and add one new Function named GetLevelTime:

Manager_GetLevelTime

So basically when we haven’t set CustomLevelTime this function will get the time from LevelID.

Now update the BeginPlay to check CustomLevelTime:

Manager_BeginPlay

And that’s all here!

Creating UMG

Now create new widget named HUD_LevelTime. Open it and add those variables:

Var Name Var Type Default Value  Description
GameStateRef GameplayGameState Reference It will store reference to GameplayGamestate.
CurrentLevelProgress float Editable. Will store level progress and will be bound to progress bar.

In Designer there should be:

  • Progress bar,
  • Text,

You can find how to create the UMG here.

Open Event Graph and add Construct and Tick events like here:

HUD_UMGEventGraph

Remember to bind CurrentLevelProgress to ProgressBar!

Adding UMG to Player

Open GameplayCharacter and duplicate HUD_Points Widget – name it HUD_LevelTime. Here’s the details:

  • Location: (X=-7.986629,Y=28.048374,Z=34.133759)
  • Rotation: (Pitch=9.020610,Yaw=116.542816,Roll=94.183029)
  • Draw Size: (X=480,Y=200)
  • Pivot: (X=1.000000,Y=0.000000)
  • Widget Class: HUD_LevelTime

And that’s all! You should see level time now!

Creating ShooterTutorial takes a lot of my free time.
donateIf you want you can help me out! I will use your donation to buy better assets packs and you will be added to Credits /Backers page as well. Implementing game is taking time but writing about it is taking much more effort!

Leave a Reply