# Search

> Searches for the given package.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor.PackageManager](/engine/6000.0/script-reference/unityeditor/packagemanager.md)
* **Assembly:** UnityEditor

## Search(string, bool)

Searches for the given package.

```csharp
public static SearchRequest Search(string packageIdOrName, bool offlineMode)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The name or ID of the package. `ArgumentException` is thrown if `packageIdOrName` is `null` or empty.**** (\[bool]\(https\://learn.microsoft.com/dotnet/api/system.boolean)): Specifies whether or not the Package Manager requests the latest information about the project's packages from the remote Unity package registry. When `offlineMode` is `true`, the [PackageInfo](/engine/6000.0/script-reference/unityeditor/packagemanager/packageinfo.md) object returned by the Package Manager contains information obtained from the local package cache, which could be out of date.

### Returns

| Type                                                                                                  | Description                                                                                                                                                                                                                                                                                                                                               |
| ----------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [SearchRequest](/engine/6000.0/script-reference/unityeditor/packagemanager/requests/searchrequest.md) | A [SearchRequest](/engine/6000.0/script-reference/unityeditor/packagemanager/requests/searchrequest.md) instance, which you can use to get the array of [PackageInfo](/engine/6000.0/script-reference/unityeditor/packagemanager/packageinfo.md) objects representing the packages matching the search criteria from the `SearchRequest.Result` property. |

### Remarks

This operation issues a request to the main Unity package registry.

`Search()` is an asynchronous operation. Before the operation is complete, you can use the `SearchRequest` instance to monitor the asynchronous operation.

**Note:** Make sure any other Client operations have completed before calling this method. For more information, see the note on the [Client](/engine/6000.0/script-reference/unityeditor/packagemanager/client.md) class reference page.

## Search(string)

Searches for the given package.

```csharp
public static SearchRequest Search(string packageIdOrName)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): The name or ID of the package. `ArgumentException` is thrown if `packageIdOrName` is `null` or empty.

### Returns

| Type                                                                                                  | Description                                                                                                                                                                                                                                                                                                                                               |
| ----------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [SearchRequest](/engine/6000.0/script-reference/unityeditor/packagemanager/requests/searchrequest.md) | A [SearchRequest](/engine/6000.0/script-reference/unityeditor/packagemanager/requests/searchrequest.md) instance, which you can use to get the array of [PackageInfo](/engine/6000.0/script-reference/unityeditor/packagemanager/packageinfo.md) objects representing the packages matching the search criteria from the `SearchRequest.Result` property. |

### Remarks

This operation issues a request to the main Unity package registry.

`Search()` is an asynchronous operation. Before the operation is complete, you can use the `SearchRequest` instance to monitor the asynchronous operation.

**Note:** Make sure any other Client operations have completed before calling this method. For more information, see the note on the [Client](/engine/6000.0/script-reference/unityeditor/packagemanager/client.md) class reference page.
