Search
Searches for packages in the Unity Package Registry. Returns a SearchRequest object that provides access to matching packages.
Read time 3 minutesLast updated 11 days ago
Definition
- Type: Method
- Namespace: UnityEditor.PackageManager
- Assembly: UnityEditor.CoreModule
Search(string, bool)
Searches for packages in the Unity Package Registry. Returns a SearchRequest object that provides access to matching packages.
public static SearchRequest Search(string packageIdOrName, bool offlineMode)
Parameters
The name or ID of the package. is thrown if is or empty.
ArgumentExceptionpackageIdOrNamenullSpecifies whether or not the Package Manager requests the latest information about the project's packages from the remote Unity package registry. When is , the PackageInfo object returned by the Package Manager contains information obtained from the local package cache, which could be out of date.
offlineModetrueReturns
Type | Description |
|---|---|
| SearchRequest | A SearchRequest instance, which you can use to get the array of PackageInfo objects representing the packages matching the search criteria from the |
Remarks
This operation issues a request to the main Unity package registry.
Search()SearchRequestNote: Make sure any other Client operations complete before calling this method. For more information, refer to the note on the Client class reference page.
using UnityEngine;using UnityEditor.PackageManager;using UnityEditor.PackageManager.Requests;[ExecuteInEditMode]public class PackageManagerClientSearchExample : MonoBehaviour{ SearchRequest m_SearchRequest; void Start() { Debug.Log("Client.Search example..."); m_SearchRequest = Client.Search("com.unity.textmeshpro"); } void Update() { if (m_SearchRequest != null && m_SearchRequest.IsCompleted) { if (m_SearchRequest.Status == StatusCode.Success) { var packages = m_SearchRequest.Result; if (packages.Length > 0) { var package = packages[0]; Debug.Log($"Found package: {package.name}" + $"\nVersion: {package.version}" + $"\nDescription: {package.description}"); } else { Debug.Log("No packages found"); } } else { Debug.LogError($"Search failed: {m_SearchRequest.Error.message}"); } m_SearchRequest = null; } }}
Related information
Search(string)
Searches for packages in the Unity Package Registry. Returns a SearchRequest object that provides access to matching packages.
public static SearchRequest Search(string packageIdOrName)
Parameters
The name or ID of the package. is thrown if is or empty.
ArgumentExceptionpackageIdOrNamenullReturns
Type | Description |
|---|---|
| SearchRequest | A SearchRequest instance, which you can use to get the array of PackageInfo objects representing the packages matching the search criteria from the |
Remarks
This operation issues a request to the main Unity package registry.
Search()SearchRequestNote: Make sure any other Client operations complete before calling this method. For more information, refer to the note on the Client class reference page.
using UnityEngine;using UnityEditor.PackageManager;using UnityEditor.PackageManager.Requests;[ExecuteInEditMode]public class PackageManagerClientSearchExample : MonoBehaviour{ SearchRequest m_SearchRequest; void Start() { Debug.Log("Client.Search example..."); m_SearchRequest = Client.Search("com.unity.textmeshpro"); } void Update() { if (m_SearchRequest != null && m_SearchRequest.IsCompleted) { if (m_SearchRequest.Status == StatusCode.Success) { var packages = m_SearchRequest.Result; if (packages.Length > 0) { var package = packages[0]; Debug.Log($"Found package: {package.name}" + $"\nVersion: {package.version}" + $"\nDescription: {package.description}"); } else { Debug.Log("No packages found"); } } else { Debug.LogError($"Search failed: {m_SearchRequest.Error.message}"); } m_SearchRequest = null; } }}
Related information