---
schema_version: "1"
id: d88e25d8594e968aa5f40394049c59997b21c480fb2f0a523fd7cf2c36bf7b14
title: ModuleConfig
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/marketing-cloud-mobilepush/engagement_sdk/references/ios-sdk-v11/sfmc-sdk/protocols/moduleconfig.md
canonical_url: https://developer.salesforce.com/docs/marketing/mobile-unified-sdk/references/engagement-mobile-sdk-reference/moduleconfig.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: a80ab665611d39674d0a1b1d66006e4835d3c92d01a61c4928c2d70ee8cc7938
products:
  - Salesforce Engagement SDK
---
# ModuleConfig

`Protocol`

SFMCSdk Module Configuration protocol that all registered modules adopt as configuration.

## Declaration

```swift
@objc(SFMCSdkModuleConfig)
public protocol ModuleConfig

var name: ModuleName { get }

var appId: String { get }

var trackScreens: Bool { get }
```

## Cases

### `name`

Module name

```swift
var name: ModuleName { get }
```

---

### `appId`

```swift
var appId: String { get }
```

---

### `trackScreens`

Enable or disbale screen tracking

```swift
var trackScreens: Bool { get }
```

---
