Network Utilities Library
Connectivity, ping, DNS, interface, Wi-Fi, Ethernet, local-IP, and public-IP nodes.
Use this library for network diagnostics and player or machine connectivity checks.
Python examples use Unreal's reflected API names through the unreal module. Async connectivity, ping, DNS, and public-IP actions stay C++-only here because they rely on delegate-driven async execution.
Project Settings
The fallback URL and timeout values used by the async internet nodes live in Project Settings > Plugins > Windows Native Toolkit > Network.
Is Connected To Internet
Returns whether Windows currently reports internet connectivity.
| Pin | Direction | Purpose |
|---|---|---|
Return Value | Output | True when Windows reports internet access. |
#include "NetworkUtilities.h"
const bool bConnected = UNetworkUtilities::IsConnectedToInternet();import unreal
connected = unreal.NetworkUtilities.is_connected_to_internet()Query Player Internet Access
Sends a lightweight HTTP probe to confirm real internet access instead of only local-network connectivity.
| Pin | Direction | Purpose |
|---|---|---|
WorldContextObject | Input | Async action registration context. |
TargetURL | Input | Probe URL. Leave empty to use the project default. |
Timeout | Input | Timeout in seconds. Use 0 to use the project default. |
Then | Output | Continues immediately after the node starts. |
On Success | Output | Fires when the HTTP probe completed successfully. |
On Fail | Output | Fires when the HTTP probe request itself failed. |
bHasInternet | Output | True when the probe confirmed internet access. |
#include "NetworkUtilities.h"
UFUNCTION()
void HandleInternetProbeSuccess(bool bHasInternet);
UFUNCTION()
void HandleInternetProbeFail(bool bHasInternet);
UAsyncQueryInternetAccessAction* Action =
UAsyncQueryInternetAccessAction::QueryInternetAccess(this, FString(), 0.0f);
Action->OnSuccess.AddDynamic(this, &UMyObject::HandleInternetProbeSuccess);
Action->OnFail.AddDynamic(this, &UMyObject::HandleInternetProbeFail);Get Network Connection Type
Returns the current Windows connection type.
| Pin | Direction | Purpose |
|---|---|---|
Return Value | Output | ENetworkWindowsType such as Wi-Fi, Ethernet, Both, or No Connection. |
#include "NetworkUtilities.h"
const ENetworkWindowsType ConnectionType = UNetworkUtilities::GetConnectionType();import unreal
connection_type = unreal.NetworkUtilities.get_connection_type()Ping URL or IP
Pings a host name or IPv4 target asynchronously.
| Pin | Direction | Purpose |
|---|---|---|
WorldContextObject | Input | Async action registration context. |
Address | Input | Host name or IPv4 target to ping. |
Timeout | Input | Timeout in seconds. Use 0 to use the project default. |
Then | Output | Continues immediately after the node starts. |
On Success | Output | Fires when ICMP ping succeeds. |
On Fail | Output | Fires when the host could not be reached. |
PingMs | Output | Round-trip time in milliseconds. |
#include "NetworkUtilities.h"
UFUNCTION()
void HandlePingSuccess(int32 PingMs);
UFUNCTION()
void HandlePingFail(int32 PingMs);
UAsyncPingAddressAction* Action =
UAsyncPingAddressAction::PingAddress(this, TEXT("8.8.8.8"), 2.0f);
Action->OnSuccess.AddDynamic(this, &UMyObject::HandlePingSuccess);
Action->OnFail.AddDynamic(this, &UMyObject::HandlePingFail);Resolve Domain Name
Resolves a host name to an IPv4 address asynchronously.
| Pin | Direction | Purpose |
|---|---|---|
WorldContextObject | Input | Async action registration context. |
Hostname | Input | Host name to resolve. |
Then | Output | Continues immediately after the node starts. |
On Success | Output | Fires when resolution succeeds. |
On Fail | Output | Fires when resolution fails. |
ResolvedIP | Output | Resolved IPv4 address string. |
#include "NetworkUtilities.h"
UFUNCTION()
void HandleResolveSuccess(FString ResolvedIP);
UFUNCTION()
void HandleResolveFail(FString ResolvedIP);
UAsyncResolveDomainAction* Action =
UAsyncResolveDomainAction::ResolveDomain(this, TEXT("openai.com"));
Action->OnSuccess.AddDynamic(this, &UMyObject::HandleResolveSuccess);
Action->OnFail.AddDynamic(this, &UMyObject::HandleResolveFail);Get Available Network Interfaces
Returns all active network interfaces that Windows currently reports.
| Pin | Direction | Purpose |
|---|---|---|
Return Value | Output | TArray<FNetworkInterfaceInfo> for active interfaces. |
FNetworkInterfaceInfo fields:
InterfaceNameHardwareNameTypeInterfaceID
#include "NetworkUtilities.h"
const TArray<FNetworkInterfaceInfo> Interfaces = UNetworkUtilities::GetAvailableInterfaces();import unreal
interfaces = unreal.NetworkUtilities.get_available_interfaces()Get Detailed Wi-Fi Info
Returns detailed Wi-Fi information for a specific interface ID.
| Pin | Direction | Purpose |
|---|---|---|
InterfaceID | Input | Interface ID from Get Available Network Interfaces. |
Return Value | Output | FWiFiNetworkInfo for the selected Wi-Fi interface. |
FWiFiNetworkInfo fields:
SSIDBSSIDSignalQualityAuthAlgorithmbSuccess
#include "NetworkUtilities.h"
const FWiFiNetworkInfo WiFiInfo = UNetworkUtilities::GetDetailedWiFiInfo(InterfaceID);import unreal
wifi_info = unreal.NetworkUtilities.get_detailed_wifi_info(interface_id)Get Detailed Ethernet Info
Returns detailed Ethernet information for a specific interface ID.
| Pin | Direction | Purpose |
|---|---|---|
InterfaceID | Input | Interface ID from Get Available Network Interfaces. |
Return Value | Output | FEthernetNetworkInfo for the selected Ethernet interface. |
FEthernetNetworkInfo fields:
InterfaceNameInterfaceIDIPv4AddressMACAddressLinkSpeedMbpsbDhcpEnabledbSuccess
#include "NetworkUtilities.h"
const FEthernetNetworkInfo EthernetInfo = UNetworkUtilities::GetDetailedEthernetInfo(InterfaceID);import unreal
ethernet_info = unreal.NetworkUtilities.get_detailed_ethernet_info(interface_id)Get Private IPv4 Address
Returns the current private IPv4 address for one interface ID.
| Pin | Direction | Purpose |
|---|---|---|
InterfaceID | Input | Interface ID from Get Available Network Interfaces. |
Return Value | Output | IPv4 address string for that interface. |
#include "NetworkUtilities.h"
const FString LocalIP = UNetworkUtilities::GetLocalIpForInterface(InterfaceID);import unreal
local_ip = unreal.NetworkUtilities.get_local_ip_for_interface(interface_id)Get Public IP
Returns the public IPv4 address asynchronously.
| Pin | Direction | Purpose |
|---|---|---|
WorldContextObject | Input | Async action registration context. |
Mode | Input | Provider selection: Auto, IfConfig, Amazon AWS, or ICanHazIP. |
Timeout | Input | Timeout in seconds. Use 0 to use the project default. |
Then | Output | Continues immediately after the node starts. |
On Success | Output | Fires when a valid public IP was returned. |
On Fail | Output | Fires when no valid public IP was returned. |
PublicIP | Output | Returned public IPv4 address. |
#include "NetworkUtilities.h"
UFUNCTION()
void HandlePublicIPSuccess(FString PublicIP);
UFUNCTION()
void HandlePublicIPFail(FString PublicIP);
UAsyncGetPublicIPAction* Action =
UAsyncGetPublicIPAction::GetPublicIP(this, EPublicIPProvider::Auto, 0.0f);
Action->OnSuccess.AddDynamic(this, &UMyObject::HandlePublicIPSuccess);
Action->OnFail.AddDynamic(this, &UMyObject::HandlePublicIPFail);Removed Node
Get Wifi Network SSID was removed. Use Get Detailed Wi-Fi Info instead because it already returns the SSID together with the rest of the Wi-Fi details.
Last updated on