Version: 2022.3
LanguageEnglish
  • C#
Removed

Network.TestConnection

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Obsolete The legacy networking system has been removed in Unity 2018.2. Use Unity Multiplayer and NetworkIdentity instead.

Declaration

public static ConnectionTesterStatus TestConnection();
Obsolete The legacy networking system has been removed in Unity 2018.2. Use Unity Multiplayer and NetworkIdentity instead.

Declaration

public static ConnectionTesterStatus TestConnection(bool forceTest);

Description

Test this machines network connection.

Two types of tests are performed depending on if the machine has a public IP address present or if it only has a private address (or addresses).

The public IP address test is primarily for when running a server as no tests are needed for clients with public addresses. In order for the public IP test to succeed a server instance must be started. A test server will try to connect to the IP and port of the local server and thus it is shown in the server is connectable. If not then a firewall is most likely blocking the server port. A server instance needs to be running so that the test server has something to connect to.

The other test is for checking NAT punchthrough capabilities. This is a valid test for both servers and clients and can be performed without any prior setup. There are 4 types of NAT test results (see ConnectionTesterStatus): __Full Cone_, Address Restricted Cone, Port restricted and Symmetric.

First two types offer full NAT punchthrough support and can connect to any type. Port restricted type cannot connect to or receive a connection from symmetric type. Symmetric if worst and cannot connect to other symmetric types or port restricted type. The latter two are labelled as offering limited NAT punchthrough support.

This function is asynchronous and might not return a valid result right away because the tests needs some time to complete (1-2 seconds). After test completion the test result is only returned when the function is called again, a full network test is not redone. That way it is safe to poll the function frequently. If another test is desired, like if the network connection has been altered, then the forceTest parameter should be passed as true.

The function returns a ConnectionTesterStatus enum.