Functions
Hardware Infos — Functions
This page lists every Blueprint function available in the Hardware Infos plugin.
How These Functions Work
All getter functions share the same behaviour:
- Blueprint Pure — they only read cached data, never modify any state. Safe to call as many times as needed.
- Blueprint Callable — accessible directly in any Blueprint graph.
- Category
HardwareInfos— find them quickly by searchingHardwarein the Blueprint palette.
Because hardware queries can be expensive, avoid calling
getAllDataHardwareevery frame. Call it once on Begin Play and store the result in a variable. For live RAM and VRAM updates, userefreshDynamicDataon a timer instead.
Initialisation
getAllDataHardware
Collects all hardware data (CPU, GPU, RAM, Screen) and stores it in an internal cache. Call this once at startup — for example from Begin Play or Game Instance Init.
- Returns: nothing
static void getAllDataHardware();
refreshDynamicData
Updates only the values that change over time: RAM usage and VRAM usage. All other data (CPU model, GPU name, total VRAM...) stays cached from the last getAllDataHardware call.
- Returns: nothing
static void refreshDynamicData();
Call this every few seconds via a Timer by Event to keep RAM and VRAM usage current without the overhead of a full hardware scan.
Hardware Information
getHardwareData
Returns a complete hardware summary in a single call — CPU, GPU, RAM, and Screen combined.
- Returns:
FHardwareData
static FHardwareData getHardwareData();
Use this when you need everything at once, for example when writing a full system report to a log on launch.
getCpuData
Returns detailed information about the CPU.
- Returns:
FS_CPU_Infos
static FS_CPU_Infos getCpuData();
| Field | Type | Example |
|---|---|---|
| Infos | string | AMD Ryzen 7 5800X 8-Core Processor |
| Company | string | AMD / Intel |
| Name | string | Ryzen / Core / Core Ultra |
| Number | int | 7 (Ryzen 7, i9, Ultra 9) |
| SeriesComplet | string | 5800X / 13900K / 285K |
| Generation | int | 5000 / 13000 / 200 |
| Core | int | 8 (physical cores) |
| Threads | int | 16 (logical threads) |
| FrequencyMHz | float | 3800.0 |
| FrequencyGHz | float | 3.8 |
Supported CPU families:
- AMD Ryzen 5 / 7 / 9 (all generations)
- Intel Core i3 / i5 / i7 / i9 (classic naming — 10th gen and up)
- Intel Core Ultra 5 / 7 / 9 (200 series)
getGPUData
Returns detailed information about the GPU, including VRAM usage and driver version.
- Returns:
FS_GPU_Infos
static FS_GPU_Infos getGPUData();
| Field | Type | Example |
|---|---|---|
| Infos | string | NVIDIA GeForce RTX 4060 Ti |
| Company | string | NVIDIA / AMD / Intel |
| Name | string | GeForce / Radeon / Arc |
| Mark | string | RTX / GTX / RX / Pro / A / B |
| Model | string | 4060 Ti / 7700 XT / A770 |
| MinimumModel | string | 4060 / 7700 / A770 |
| Series | int | 4000 / 7000 / 700 |
| TotalVRAM_MB | float | 8192.0 |
| TotalVRAM_GB | float | 8.0 |
| UsedVRAM_MB | float | 3200.0 |
| FreeVRAM_MB | float | 4992.0 |
| VRAMUsagePercent | float | 39.1 |
| DriverVersion | string | 31.0.15.5201 |
VRAM data is retrieved via DXGI (IDXGIAdapter3) — works on NVIDIA, AMD, and Intel GPUs without any third-party SDK.
Supported GPU families:
- NVIDIA GeForce GTX / RTX (all series)
- AMD Radeon RX / Pro (all series)
- Intel Arc A-series / B-series
getRAMData
Returns information about system RAM — total, used, and free — in both MB and GB, plus virtual memory stats.
- Returns:
FS_RAM_Infos
static FS_RAM_Infos getRAMData();
| Field | Type | Example |
|---|---|---|
| TotalRAM_MB | float | 32768.0 |
| TotalRAM_GB | float | 32.0 |
| UsedPhysical_MB | float | 14200.0 |
| FreePhysical_MB | float | 18568.0 |
| UsagePercent | float | 43.3 |
| TotalVirtual_MB | float | 65536.0 |
| FreeVirtual_MB | float | 48000.0 |
For live updates, call
refreshDynamicDataon a timer rather than callinggetRAMDataevery frame.
Display
getScreenResolution
Returns the player's current screen resolution, refresh rate, and aspect ratio. This function refreshes its data on every call.
- Returns:
FS_ScreenResolution
static FS_ScreenResolution getScreenResolution();
| Field | Type | Example |
|---|---|---|
| Width | int | 1920 |
| Height | int | 1080 |
| RefreshRate | int | 144 |
| AspectRatio | float | 1.777 (16:9) |
getCurrentFPSLimit
Returns the FPS cap currently set via the t.MaxFPS console variable.
- Returns:
int—0typically means uncapped
static int32 getCurrentFPSLimit();
isVSyncEnabled
Returns whether VSync is currently active (r.VSync).
- Returns:
bool—trueif VSync is on,falseif off
static bool isVSyncEnabled();
Performance Monitoring
getFps
Returns the current framerate calculated from delta time. Connect the Delta Seconds output of your Event Tick node.
- Input:
float DeltaSeconds - Returns:
int32
static int32 getFps(float DeltaSeconds);
getFpsApp
Returns the current framerate using FApp::GetDeltaTime() — no input required. Useful when you want FPS without hooking into Event Tick.
- Returns:
int32
static int32 getFpsApp();
Prefer this version for simplicity. Call it from a Timer by Event every second to display FPS in a HUD without using Tick.
Quick Reference
| Function | Returns | Notes |
|---|---|---|
getAllDataHardware | — | Call once at startup |
refreshDynamicData | — | Call on a timer for live RAM / VRAM |
getHardwareData | FHardwareData | Full CPU + GPU + RAM + Screen |
getCpuData | FS_CPU_Infos | Model, generation, cores, threads, frequency |
getGPUData | FS_GPU_Infos | Model, series, VRAM, driver |
getRAMData | FS_RAM_Infos | Total, used, free, virtual |
getScreenResolution | FS_ScreenResolution | Resolution, refresh rate, aspect ratio |
getCurrentFPSLimit | int32 | Active FPS cap |
isVSyncEnabled | bool | VSync state |
getFps | int32 | Requires Delta Seconds |
getFpsApp | int32 | No input needed |