Version: 2023.2
LanguageEnglish
  • C#

UnityWebRequest

class in UnityEngine.Networking

/

Implemented in:UnityEngine.UnityWebRequestModule

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

Description

Provides methods to communicate with web servers.

UnityWebRequest handles the flow of HTTP communication with web servers. To download and upload data, use DownloadHandler and UploadHandler respectively.

UnityWebRequest includes static utility functions that return UnityWebRequest instances configured for common use cases. For example:

To send a web request from a UnityWebRequest instance, call UnityWebRequest.SendWebRequest. After the UnityWebRequest begins to communicate with a remote server, you can't change any of the properties in that UnityWebRequest instance. HTTPS is supported, server certificate is validated against the root certificate store available on the system the app runs on. Validation can be disabled (for example for development server using self-signed certificate) or changed to a custom handling by assigning UnityWebRequest.certificateHandler property.

Depending on the platform your application runs on, UnityWebRequest either sets the User-Agent header itself or leaves it for the operating system to set. UnityWebRequest sets the User-Agent header for all platforms except iOS, Xbox platforms, and WebGL.

Note: From Unity 2019.2, UnityWebRequest sets the User-Agent header for Android devices. In earlier releases, the operating system set the User-Agent header.

Note: If the device that the application runs on uses proxy settings, UnityWebRequest applies the proxy settings after the application sends the request.

Static Properties

kHttpVerbCREATEThe string "CREATE", commonly used as the verb for an HTTP CREATE request.
kHttpVerbDELETEThe string "DELETE", commonly used as the verb for an HTTP DELETE request.
kHttpVerbGETThe string "GET", commonly used as the verb for an HTTP GET request.
kHttpVerbHEADThe string "HEAD", commonly used as the verb for an HTTP HEAD request.
kHttpVerbPOSTThe string "POST", commonly used as the verb for an HTTP POST request.
kHttpVerbPUTThe string "PUT", commonly used as the verb for an HTTP PUT request.

Properties

certificateHandlerHolds a reference to a CertificateHandler object, which manages certificate validation for this UnityWebRequest.
disposeCertificateHandlerOnDisposeIf true, any CertificateHandler attached to this UnityWebRequest will have CertificateHandler.Dispose called automatically when UnityWebRequest.Dispose is called.
disposeDownloadHandlerOnDisposeIf true, any DownloadHandler attached to this UnityWebRequest will have DownloadHandler.Dispose called automatically when UnityWebRequest.Dispose is called.
disposeUploadHandlerOnDisposeIf true, any UploadHandler attached to this UnityWebRequest will have UploadHandler.Dispose called automatically when UnityWebRequest.Dispose is called.
downloadedBytesReturns the number of bytes of body data the system has downloaded from the remote server. (Read Only)
downloadHandlerHolds a reference to a DownloadHandler object, which manages body data received from the remote server by this UnityWebRequest.
downloadProgressReturns a floating-point value between 0.0 and 1.0, indicating the progress of downloading body data from the server. (Read Only)
errorA human-readable string describing any system errors encountered by this UnityWebRequest object while handling HTTP requests or responses. (Read Only)
isDoneReturns true after the UnityWebRequest has finished communicating with the remote server. (Read Only)
isModifiableReturns true while a UnityWebRequest’s configuration properties can be altered. (Read Only)
methodDefines the HTTP verb used by this UnityWebRequest, such as GET or POST.
redirectLimitIndicates the number of redirects that this UnityWebRequest follows before halting with a Redirect Limit Exceeded system error.
responseCodeThe numeric HTTP response code returned by the server, such as 200, 404 or 500. (Read Only)
resultThe result of this UnityWebRequest.
timeoutSets UnityWebRequest to attempt to abort after the number of seconds in timeout have passed.
uploadedBytesReturns the number of bytes of body data the system has uploaded to the remote server. (Read Only)
uploadHandlerHolds a reference to the UploadHandler object which manages body data to be uploaded to the remote server.
uploadProgressReturns a floating-point value between 0.0 and 1.0, indicating the progress of uploading body data to the server.
uriDefines the target URI for the UnityWebRequest to communicate with.
urlDefines the target URL for the UnityWebRequest to communicate with.
useHttpContinueDetermines whether this UnityWebRequest will include Expect: 100-Continue in its outgoing request headers. (Default: true).

Constructors

UnityWebRequestCreates a UnityWebRequest with the default options and no attached DownloadHandler or UploadHandler. Default method is GET.

Public Methods

AbortIf in progress, halts the UnityWebRequest as soon as possible.
DisposeSignals that this UnityWebRequest is no longer being used, and should clean up any resources it is using.
GetRequestHeaderRetrieves the value of a custom request header.
GetResponseHeaderRetrieves the value of a response header from the latest HTTP response received.
GetResponseHeadersRetrieves a dictionary containing all the response headers received by this UnityWebRequest in the latest HTTP response.
SendWebRequestBegin communicating with the remote server.
SetRequestHeaderSet a HTTP request header to a custom value.

Static Methods

ClearCookieCacheClears stored cookies from the cache.
DeleteCreates a UnityWebRequest configured for HTTP DELETE.
EscapeURLEscapes characters in a string to ensure they are URL-friendly.
GenerateBoundaryGenerate a random 40-byte array for use as a multipart form boundary.
GetCreate a UnityWebRequest for HTTP GET.
HeadCreates a UnityWebRequest configured to send a HTTP HEAD request.
PostCreates a UnityWebRequest configured to send form data to a server via HTTP POST.
PostWwwFormCreates a UnityWebRequest configured to send form data to a server via HTTP POST.
PutCreates a UnityWebRequest configured to upload raw data to a remote server via HTTP PUT.
SerializeFormSectionsConverts a List of IMultipartFormSection objects into a byte array containing raw multipart form data.
SerializeSimpleFormSerialize a dictionary of strings into a byte array containing URL-encoded UTF8 characters.
UnEscapeURLConverts URL-friendly escape sequences back to normal text.