Skip to main content
The exported UI Kit Builder code is organized in a standard iOS project structure. This guide helps you navigate the structure so you know exactly where to make changes.

Root Files

FilePurpose
AppDelegate.swiftApp lifecycle, CometChat initialization, and Builder settings loading
SceneDelegate.swiftScene lifecycle management for iOS 13+
AppConstants.swiftCometChat credentials (APP_ID, AUTH_KEY, REGION)
FrameworkManager.swiftHelper for initializing CometChat framework
cometchat-builder-settings.jsonBuilder configuration with feature flags, layout, and styling

Key Folders

Assets.xcassets/

Contains all image and color assets for the app.

Base.lproj/

Contains storyboards and localization base files.

Helper/

Utility classes and Swift extensions.

View Controllers/

All view controllers organized by feature.

Configuration Files

cometchat-builder-settings.json

The main configuration file containing all Builder settings:
{
  "builderId": "your-builder-id",
  "settings": {
    "chatFeatures": { ... },
    "callFeatures": { ... },
    "layout": { ... },
    "style": { ... }
  }
}

AppConstants.swift

Contains CometChat credentials:
struct AppConstants {
    static let APP_ID = "YOUR_APP_ID"
    static let AUTH_KEY = "YOUR_AUTH_KEY"
    static let REGION = "YOUR_REGION"
}

Quick Reference: Where to Customize

What you want to changeWhere to look
Enable/disable featurescometchat-builder-settings.json
CometChat credentialsAppConstants.swift
Theme colors & stylescometchat-builder-settings.jsonstyle section
App iconsAssets.xcassets/AppIcon.appiconset/
Launch screenBase.lproj/LaunchScreen.storyboard
Messages screen behaviorView Controllers/CometChat Components/MessagesVC.swift
Login flowView Controllers/LoginVC/
Home screen layoutView Controllers/HomeScreenViewController.swift
Custom UI extensionsHelper/Extentions.swift
Prefer using cometchat-builder-settings.json for feature toggles and styling. For extensive changes, extend existing view controllers instead of modifying core files directly.

CometChat Components

The CometChat Components folder contains wrappers around CometChat UI Kit components:
ComponentFilePurpose
MessagesMessagesVC.swiftMain messaging interface
Threaded MessagesThreadedMessagesVC.swiftThread view for replies
Create ConversationCreateConversations.swiftStart new conversations
Add MembersAdd Members/Add users to groups
Banned MembersBanned Members/View/manage banned users
Call Log DetailsCall Log Details/Call history details
Details PageDetailsPage/User/Group profile details
Group ComponentGroup Component/Group management views
Transfer OwnershipTransfer ownership/Transfer group ownership

Next Steps

UI Kit Builder Settings

Configure feature toggles and behavior

Customizations

Modify component props, styling, and behavior

Theming

Customize colors, typography, and styling

Components Overview

Explore all available UI components