<!--
{
  "documentType" : "article",
  "framework" : "Matter",
  "identifier" : "/documentation/Matter/controller-initialization",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Controller initialization"
}
-->

# Controller initialization

Initialize the object that controls Matter accessories.

## Discussion

These methods enable the creation and initialization of a device controller ([`MTRDeviceController`](/documentation/Matter/MTRDeviceController)) on a specific Matter *fabric*. A fabric is a set of accessories and device controllers that can communicate with each other. You use the device controller to commission and control accessories.

## Topics

### Initialization

[`class MTRDeviceControllerFactory`](/documentation/Matter/MTRDeviceControllerFactory)

[`class MTRDeviceControllerFactoryParams`](/documentation/Matter/MTRDeviceControllerFactoryParams)

[`protocol MTRStorage`](/documentation/Matter/MTRStorage)

[`protocol MTROTAProviderDelegate`](/documentation/Matter/MTROTAProviderDelegate)

[`class MTRFabricInfo`](/documentation/Matter/MTRFabricInfo)

[`class MTRDeviceController`](/documentation/Matter/MTRDeviceController)

[`class MTRDeviceControllerStartupParams`](/documentation/Matter/MTRDeviceControllerStartupParams)

[`protocol MTRKeypair`](/documentation/Matter/MTRKeypair)

[`protocol MTROperationalCertificateIssuer`](/documentation/Matter/MTROperationalCertificateIssuer)

[`class MTRControllerFactory`](/documentation/Matter/MTRControllerFactory)

[`class MTRControllerFactoryParams`](/documentation/Matter/MTRControllerFactoryParams)

[`protocol MTRPersistentStorageDelegate`](/documentation/Matter/MTRPersistentStorageDelegate)

[`protocol MTRNOCChainIssuer`](/documentation/Matter/MTRNOCChainIssuer)



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)