> ## Documentation Index
> Fetch the complete documentation index at: https://cometchat-013b37f0.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Customize UI Kit

Version: v2

<Frame>
  <img src="https://mintcdn.com/cometchat-013b37f0/crySXmrfj1cbCy1Q/images/2bcfda5e-1623199957-c82f142ae375c2899452833bde0a3875.jpg?fit=max&auto=format&n=crySXmrfj1cbCy1Q&q=85&s=dff3705a76b1ca10482be20226d8fe1d" width="2195" height="984" data-path="images/2bcfda5e-1623199957-c82f142ae375c2899452833bde0a3875.jpg" />
</Frame>

This guide helps you to customize, modify, and enable/disable features present in UIKit.

<Tip>
  CometChat SDK & UI Kit both need to be configured before starting the customization in UI Kit.
</Tip>

***

To Modify and customize UI Kit, you need to refer to the `UIKitSettings` class present in the UI Kit Library. You will be easily able to modify the color, enable/disable some of the features which you won't require in your app.

<Warning>
  Important

  * UI Kit Settings must be called before launching any UI Screen or UI Unified. By default, all settings will be enabled.

  * For advanced level customization, you can modify the source code of the library as per your requirement.
</Warning>

### **Color Settings**

| Description           | Code Snippet                    | Settings                                                       |
| --------------------- | ------------------------------- | -------------------------------------------------------------- |
| Modify primary colour | `UIKitSettings.color = #F3F3F3` | Requires Hex value of color as String<br /><br />Ex: "#F3F3F3" |

***

### **Tab bar settings**

| Description                    | Code Snippet                         | Settings                                               |
| ------------------------------ | ------------------------------------ | ------------------------------------------------------ |
| Hide/Show recents chats tab    | `UIKitSettings.conversations = true` | You can show it using `true` or hide it using `false`. |
| Hide/Show calls tab            | `UIKitSettings.calls = true`         | You can show it using `true` or hide it using `false`. |
| Hide/Show users tab            | `UIKitSettings.users = true`         | You can show it using `true` or hide it using `false`. |
| Hide/Show groups tab           | `UIKitSettings.groups = true`        | You can show it using `true` or hide it using `false`. |
| Hide/Show user information tab | `UIKitSettings.userSettings = true`  | You can show it using `true` or hide it using `false`. |

***

### **Recent Chat settings**

| Description                   | Code Snippet                       | Settings                                                                              |
| ----------------------------- | ---------------------------------- | ------------------------------------------------------------------------------------- |
| Show unread count             | `UIKitSettings.unreadCount = true` | You can show it using `true` or hide it using `false`.                                |
| Show search bar in chats      | `UIKitSettings.searchChats = true` | You can show it using `true` or hide it using `false`.                                |
| Show all users/groups or both | UIKitSettings.chatListMode = true' | You can show all users and groups using `true` or hide users and group using `false`. |

***

### **Call settings**

| Description                 | Code Snippet                               | Settings                                               |
| --------------------------- | ------------------------------------------ | ------------------------------------------------------ |
| Enable audio call for user  | `UIKitSettings.userAudioCall = true`       | You can show it using `true` or hide it using `false`. |
| Enable audio call for group | `UIKitSettings.groupAudioCall = true`      | You can show it using `true` or hide it using `false`. |
| Enable video call for user  | `UIKitSettings.userVideoCall = true`       | You can show it using `true` or hide it using `false`. |
| Enable video call for group | `UIKitSettings.groupVideoCall = true`      | You can show it using `true` or hide it using `false`. |
| Enable sound for calls      | `UIKitSettings.enableSoundForCalls = true` | You can show it using `true` or hide it using `false`. |

***

### **User settings**

| Description            | Code Snippet                            | Settings                                               |
| ---------------------- | --------------------------------------- | ------------------------------------------------------ |
| Show all users/friends | `UIKitSettings.userInMode = true`       | You can show it using `true` or hide it using `false`. |
| Show user presence     | `UIKitSettings.showUserPresence = true` | You can show it using `true` or hide it using `false`. |
| Show block user        | `UIKitSettings.blockUser = true`        | You can show it using `true` or hide it using `false`. |
| Show search user       | `UIKitSettings.searchUsers = true`      | You can show it using `true` or hide it using `false`. |
| Show view profile      | `UIKitSettings.viewProfile = true`      | You can show it using `true` or hide it using `false`. |

***

### **Group settings**

| Description                                               | Code Snippet                                                | Settings                                               |
| --------------------------------------------------------- | ----------------------------------------------------------- | ------------------------------------------------------ |
| Show create group                                         | `UIKitSettings.groupCreation = true`                        | You can show it using `true` or hide it using `false`. |
| Show join or leave group                                  | `UIKitSettings.joinOrLeaveGroup = true`                     | You can show it using `true` or hide it using `false`. |
| Show delete group                                         | `UIKitSettings.allowDeleteGroup = true`                     | You can show it using `true` or hide it using `false`. |
| Show group members                                        | `UIKitSettings.viewGroupMembers = true`                     | You can show it using `true` or hide it using `false`. |
| Show add member                                           | `UIKitSettings.allowAddMembers = true`                      | You can show it using `true` or hide it using `false`. |
| Allow moderator to delete messages of participants        | `UIKitSettings.allowModeratorToDeleteMemberMessages = true` | You can show it using `true` or hide it using `false`. |
| Allow user to kick members                                | `UIKitSettings.kickMember = true`                           | You can show it using `true` or hide it using `false`. |
| Allow user to ban members                                 | `UIKitSettings.banMember = true`                            | You can show it using `true` or hide it using `false`. |
| Allow user to promote or demote members                   | `UIKitSettings.allowPromoteDemoteMembers = true`            | You can show it using `true` or hide it using `false`. |
| Show public group option for creating groups.             | `UIKitSettings.publicGroup = true`                          | You can show it using `true` or hide it using `false`. |
| Show private group option for creating groups.            | `UIKitSettings.privateGroup = true`                         | You can show it using `true` or hide it using `false`. |
| Show password protected group option for creating groups. | `UIKitSettings.passwordGroup = true`                        | You can show it using `true` or hide it using `false`. |
| Show search groups                                        | `UIKitSettings.searchGroups = true`                         | You can show it using `true` or hide it using `false`. |
| Enable message in private from Groups                     | `UIKitSettings.messageInPrivate = true`                     | You can show it using `true` or hide it using `false`. |
| Enable message receipt information from Groups            | `UIKitSettings.messageInformation = true`                   | You can show it using `true` or hide it using `false`. |

***

### **Message settings**

| Description                                                                 | Code Snippet                                    | Settings                                               |
| --------------------------------------------------------------------------- | ----------------------------------------------- | ------------------------------------------------------ |
| Show message composer for one-on-one chat                                   | `UIKitSettings.sendMessageInOneOnOne = true`    | You can show it using `true` or hide it using `false`. |
| Show message composer for group chat                                        | `UIKitSettings.sendMessageInGroup = true`       | You can show it using `true` or hide it using `false`. |
| Show send text message                                                      | `UIKitSettings.sendTextMessage = true`          | You can show it using `true` or hide it using `false`. |
| Show send photos & videos                                                   | `UIKitSettings.sendPhotoVideos = true`          | You can show it using `true` or hide it using `false`. |
| Show send files & documents                                                 | `UIKitSettings.sendFiles = true`                | You can show it using `true` or hide it using `false`. |
| Show send voice notes                                                       | `UIKitSettings.sendVoiceNotes = true`           | You can show it using `true` or hide it using `false`. |
| Show send emojis from keyboard                                              | `UIKitSettings.sendEmojis = true`               | You can show it using `true` or hide it using `false`. |
| Show send emojis in Larger Size                                             | `UIKitSettings.sendEmojisInLargerSize = true`   | You can show it using `true` or hide it using `false`. |
| Show send stickers                                                          | `UIKitSettings.sendStickers = true`             | You can show it using `true` or hide it using `false`. |
| Send typing indicator                                                       | `UIKitSettings.sendTypingIndicator = true`      | You can show it using `true` or hide it using `false`. |
| Send message reaction                                                       | `UIKitSettings.sendMessageReaction = true`      | You can show it using `true` or hide it using `false`. |
| Send live reaction                                                          | `UIKitSettings.sendLiveReaction = true`         | You can show it using `true` or hide it using `false`. |
| Ability to edit the message                                                 | `UIKitSettings.editMessage = true`              | You can show it using `true` or hide it using `false`. |
| Ability to delete the message                                               | `UIKitSettings.deleteMessage = true`            | You can show it using `true` or hide it using `false`. |
| Ability to share, copy & forward the message                                | `UIKitSettings.shareCopyForwardMessage = true`  | You can show it using `true` or hide it using `false`. |
| Ability to reply on message                                                 | `UIKitSettings.replyToMessage = true`           | You can show it using `true` or hide it using `false`. |
| Ability to start new thread for message                                     | `UIKitSettings.threadedChats = true`            | You can show it using `true` or hide it using `false`. |
| Ability to share live reaction                                              | `UIKitSettings.shareLiveReaction = true`        | You can show it using `true` or hide it using `false`. |
| Ability to share your location                                              | `UIKitSettings.shareLocation = true`            | You can show it using `true` or hide it using `false`. |
| Show shared media                                                           | `UIKitSettings.viewShareMedia = true`           | You can show it using `true` or hide it using `false`. |
| Show read/delivery receipts for Messages                                    | `UIKitSettings.showReadDeliveryReceipts = true` | You can show it using `true` or hide it using `false`. |
| Ability to create poll (Poll Extension must be enabled from Dashboard)      | `UIKitSettings.polls = true`                    | You can show it using `true` or hide it using `false`. |
| Enable sound for Messages                                                   | `UIKitSettings.enableSoundForMessages = true`   | You can show it using `true` or hide it using `false`. |
| Enable Message Reactions                                                    | `UIKitSettings.messageReaction = true`          | You can show it using `true` or hide it using `false`. |
| Enable Collaborative Document                                               | `UIKitSettings.collaborativeDocument = true`    | You can show it using `true` or hide it using `false`. |
| Enable Collaborative Whiteboard                                             | `UIKitSettings.collaborativeWhiteboard = true`  | You can show it using `true` or hide it using `false`. |
| Enable Message Translation                                                  | `UIKitSettings.messageTranslation = true`       | You can show it using `true` or hide it using `false`. |
| Hide/show delete messages                                                   | `UIKitSettings.hideDeletedMessages = true`      | You can show it using `true` or hide it using `false`. |
| Enable Message History                                                      | `UIKitSettings.messageHistory = true`           | You can show it using `true` or hide it using `false`. |
| Show smart replies (Smart Replies Extension must be enabled from Dashboard) | `UIKitSettings.smartReplies = true`             | You can show it using `true` or hide it using `false`. |

***
