# SubsystemManager

> Gives access to subsystems which provide additional functionality through plugins.

## Definition

* **Type:** Class
* **Namespace:** [UnityEngine](/engine/6000.6/script-reference/unityengine.md)
* **Assembly:** UnityEngine.SubsystemsModule

```csharp
public static class SubsystemManager
```

## Remarks

Provides the ability to query for [SubsystemDescriptor](/engine/6000.6/script-reference/unityengine/subsystemdescriptor.md)s which enumerate features. Given an [SubsystemDescriptor](/engine/6000.6/script-reference/unityengine/subsystemdescriptor.md), you can create an [Subsystem](/engine/6000.6/script-reference/unityengine/subsystem.md) to utilize the subsystem.

## Static Methods

| Method                                                                                                                   | Description                                                                                                                                                               |
| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [GetAllSubsystemDescriptors](/engine/6000.6/script-reference/unityengine/subsystemmanager/getallsubsystemdescriptors.md) | Gets all of the currently known subsystem descriptors regardless of specific subsystem type.                                                                              |
| [GetSubsystemDescriptors](/engine/6000.6/script-reference/unityengine/subsystemmanager/getsubsystemdescriptors.md)       | Returns a list of [SubsystemDescriptor](/engine/6000.6/script-reference/unityengine/subsystemdescriptor.md)s which describe additional functionality that can be enabled. |
| [GetSubsystems](/engine/6000.6/script-reference/unityengine/subsystemmanager/getsubsystems.md)                           | Returns active [Subsystem](/engine/6000.6/script-reference/unityengine/subsystem.md)s of a specific instance type.                                                        |

## Static Events

| Member                                                                                                           | Description                                                                                                                                                              |
| ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [afterReloadSubsystems](/engine/6000.6/script-reference/unityengine/subsystemmanager/afterreloadsubsystems.md)   | Called from [SubsystemManager](/engine/6000.6/script-reference/unityengine/subsystemmanager.md) when it has completed reloading all XR SDK Provider packaged subsystems. |
| [beforeReloadSubsystems](/engine/6000.6/script-reference/unityengine/subsystemmanager/beforereloadsubsystems.md) | Called from [SubsystemManager](/engine/6000.6/script-reference/unityengine/subsystemmanager.md) before reloading all XR SDK Provider packaged subsystems.                |
