# SearchRequest

> Represents an asynchronous request to find a package.

## Definition

* **Type:** Class
* **Namespace:** [UnityEditor.PackageManager.Requests](/engine/6000.0/script-reference/unityeditor/packagemanager/requests.md)
* **Assembly:** UnityEditor
* **Inherits from:** [Request\<PackageInfo\[\]>](/engine/6000.0/script-reference/unityeditor/packagemanager/requests/request1.md)
* **Implements:** [ISerializationCallbackReceiver](/engine/6000.0/script-reference/unityengine/iserializationcallbackreceiver.md)

```csharp
public sealed class SearchRequest : Request<PackageInfo[]>, ISerializationCallbackReceiver
```

## Remarks

The PackageManager [Client](/engine/6000.0/script-reference/unityeditor/packagemanager/client.md) class returns a SearchRequest instance when you call the [Client.Search](/engine/6000.0/script-reference/unityeditor/packagemanager/client/search.md) method to find a package or the [Client.SearchAll](/engine/6000.0/script-reference/unityeditor/packagemanager/client/searchall.md) method to find all discoverable packages. Use this object to determine when the request is complete and to access the result.

Once the request is complete, you can retrieve the array of [PackageInfo](/engine/6000.0/script-reference/unityeditor/packagemanager/packageinfo.md) instances from the Result property.

## Properties

| Property                                                                                                                | Description                                           |
| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
| [PackageIdOrName](/engine/6000.0/script-reference/unityeditor/packagemanager/requests/searchrequest/packageidorname.md) | The package id or name used in this search operation. |

## Inheritance

**Inherited Members:**

* [Request\<PackageInfo\[\]>.Result()](/engine/6000.0/script-reference/unityeditor/packagemanager/requests/request1/result.md)
* [Request.Status()](/engine/6000.0/script-reference/unityeditor/packagemanager/requests/request/status.md)
* [Request.IsCompleted()](/engine/6000.0/script-reference/unityeditor/packagemanager/requests/request/iscompleted.md)
* [Request.Error()](/engine/6000.0/script-reference/unityeditor/packagemanager/requests/request/error.md)
