Windows Native Toolkit

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.

PinDirectionPurpose
Return ValueOutputTrue when Windows reports internet access.
C++ Example
#include "NetworkUtilities.h"

const bool bConnected = UNetworkUtilities::IsConnectedToInternet();
Python Example
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.

PinDirectionPurpose
WorldContextObjectInputAsync action registration context.
TargetURLInputProbe URL. Leave empty to use the project default.
TimeoutInputTimeout in seconds. Use 0 to use the project default.
ThenOutputContinues immediately after the node starts.
On SuccessOutputFires when the HTTP probe completed successfully.
On FailOutputFires when the HTTP probe request itself failed.
bHasInternetOutputTrue when the probe confirmed internet access.
C++ Example
#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.

PinDirectionPurpose
Return ValueOutputENetworkWindowsType such as Wi-Fi, Ethernet, Both, or No Connection.
C++ Example
#include "NetworkUtilities.h"

const ENetworkWindowsType ConnectionType = UNetworkUtilities::GetConnectionType();
Python Example
import unreal

connection_type = unreal.NetworkUtilities.get_connection_type()

Ping URL or IP

Pings a host name or IPv4 target asynchronously.

PinDirectionPurpose
WorldContextObjectInputAsync action registration context.
AddressInputHost name or IPv4 target to ping.
TimeoutInputTimeout in seconds. Use 0 to use the project default.
ThenOutputContinues immediately after the node starts.
On SuccessOutputFires when ICMP ping succeeds.
On FailOutputFires when the host could not be reached.
PingMsOutputRound-trip time in milliseconds.
C++ Example
#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.

PinDirectionPurpose
WorldContextObjectInputAsync action registration context.
HostnameInputHost name to resolve.
ThenOutputContinues immediately after the node starts.
On SuccessOutputFires when resolution succeeds.
On FailOutputFires when resolution fails.
ResolvedIPOutputResolved IPv4 address string.
C++ Example
#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.

PinDirectionPurpose
Return ValueOutputTArray<FNetworkInterfaceInfo> for active interfaces.

FNetworkInterfaceInfo fields:

  • InterfaceName
  • HardwareName
  • Type
  • InterfaceID
C++ Example
#include "NetworkUtilities.h"

const TArray<FNetworkInterfaceInfo> Interfaces = UNetworkUtilities::GetAvailableInterfaces();
Python Example
import unreal

interfaces = unreal.NetworkUtilities.get_available_interfaces()

Get Detailed Wi-Fi Info

Returns detailed Wi-Fi information for a specific interface ID.

PinDirectionPurpose
InterfaceIDInputInterface ID from Get Available Network Interfaces.
Return ValueOutputFWiFiNetworkInfo for the selected Wi-Fi interface.

FWiFiNetworkInfo fields:

  • SSID
  • BSSID
  • SignalQuality
  • AuthAlgorithm
  • bSuccess
C++ Example
#include "NetworkUtilities.h"

const FWiFiNetworkInfo WiFiInfo = UNetworkUtilities::GetDetailedWiFiInfo(InterfaceID);
Python Example
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.

PinDirectionPurpose
InterfaceIDInputInterface ID from Get Available Network Interfaces.
Return ValueOutputFEthernetNetworkInfo for the selected Ethernet interface.

FEthernetNetworkInfo fields:

  • InterfaceName
  • InterfaceID
  • IPv4Address
  • MACAddress
  • LinkSpeedMbps
  • bDhcpEnabled
  • bSuccess
C++ Example
#include "NetworkUtilities.h"

const FEthernetNetworkInfo EthernetInfo = UNetworkUtilities::GetDetailedEthernetInfo(InterfaceID);
Python Example
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.

PinDirectionPurpose
InterfaceIDInputInterface ID from Get Available Network Interfaces.
Return ValueOutputIPv4 address string for that interface.
C++ Example
#include "NetworkUtilities.h"

const FString LocalIP = UNetworkUtilities::GetLocalIpForInterface(InterfaceID);
Python Example
import unreal

local_ip = unreal.NetworkUtilities.get_local_ip_for_interface(interface_id)

Get Public IP

Returns the public IPv4 address asynchronously.

PinDirectionPurpose
WorldContextObjectInputAsync action registration context.
ModeInputProvider selection: Auto, IfConfig, Amazon AWS, or ICanHazIP.
TimeoutInputTimeout in seconds. Use 0 to use the project default.
ThenOutputContinues immediately after the node starts.
On SuccessOutputFires when a valid public IP was returned.
On FailOutputFires when no valid public IP was returned.
PublicIPOutputReturned public IPv4 address.
C++ Example
#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

On this page