5 Ways to Show Frame Rate (FPS) in Unreal Engine 5

If you’re a game developer using Unreal Engine, knowing about Frame Per Second (FPS) and how to show it is essential. FPS measures how smoothly your game runs, impacting the player’s experience. A higher FPS means smoother gameplay, keeping players engaged and satisfied. It also ensures your game works well on different computers, making it accessible to a wider audience.

Balancing graphics with FPS is crucial. You want your game to look amazing without causing lag or slowdowns. This is especially important for projects in Virtual Reality (VR) and Augmented Reality (AR), which require even higher frame rates for a comfortable and enjoyable experience. Smooth animations and transitions are also key for a polished game, and understanding how to optimize them with FPS ensures a visually impressive experience without sacrificing performance.

Mastering FPS in Unreal Engine is a game-changer for developers. So, before we get into how to optimize your project’s FPS, I’ll show you how to identify how many frames per second your game is running at.

1. Show FPS

In the viewport, click the hamburger menu and select Show FPS. Or just use the shortcut CTRL+SHIFT+H.

This toggles the display of frames per second in the viewport. The FPS will begin to show on the right side of the Unreal Engine viewport.

Unreal Engine Show FPS

2. Editor Preferences

  • Go to Edit and then ‘Editor Preferences…’
  • Enter ‘Frame Rate’ in the search bar.
  • Enable ‘Show Frame Rate and Memory‘ and the FPS will show on the right top corner.

The Memory statistic shows how much RAM the currently opened Unreal Engine editor is using.

Show frame rate and memory in Unreal Engine

3. Console Command (stat fps)

To see the frames per second in game, type ‘stat fps’ into the console (Cmd).

It’s useful to remember these three frame duration values for 30, 60, and 90 fps:

  • 30 FPS: 33.33 milliseconds (ms)
  • 60 FPS: 16.67 milliseconds (ms)
  • 90 FPS: 11.11 milliseconds (ms)

To find the time in milliseconds, you divide 1000 by the frames per second.

console stat fps

Other useful commands are:

stat unit

In “stat unit” we find a breakdown of frames per second and it serves to locate performance problems and bottlenecks that may occur in the “Game Thread”, “Draw”, or “GPU”.

Here are the meanings:

  • Frame: Shows the total time it takes for the engine to generate a game frame.
  • Game: Calculates if there are bottlenecks mainly in programming. Therefore, if this value is similar to the Frame, it means that programming in Blueprints or C++ is affecting the game’s performance.
  • Draw: This value indicates if we are placing too many assets on the screen. If the number is very close to that of Frame, it means that this is affecting performance.
  • GPU: This number measures how long your graphics card takes to render the scene on the screen. Lights, shadows, fog, clouds, particles, etc. This value in general will always be similar to that of Frame.

4. Console Command in Blueprints

Another way to run the console command is to use the blueprint node ‘Execute Console Command‘ and enter the command ‘stat fps’.

execute console command

5. Widget Blueprint (UI)

If you want to show the FPS directly in the final build of your game or Unreal Engine project, you should build it in the UI.

To create a User Interface (UI), simply right-click on the Content Browser, navigate to the user interface, create a Widget Blueprint and follow these steps.

  1. Add a Canvas Panel
  2. Add Text inside the Canvas Panel
  3. With the Text selected, go to the Details Panel -> Content -> Text -> Bind -> + Create Binding
  4. Create an integer variable called FPS
  5. Create a Format Text node and connect it between the FPS variable and the Return Node.
    • Enter in Format: {Input Pin} FPS
Format Text Unreal Engine
  • Now head back to the Event Graph and Set the FPS variable connecting it to the Event Tick.
  • Divide 1 by In Delta Time and set the result as the FPS variable value.

Finally just go to another Blueprint, like the Level Blueprint, Create Widget and connect it to Add To Viewport to show in game the UI you just created.