> ## Documentation Index
> Fetch the complete documentation index at: https://www.cometchat.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Core In App Messaging Features

> Core In App Messaging Features — CometChat documentation.

CometChat provides a powerful suite of messaging features. A subset of these features called 'Messaging Core' provide features which are bare minimum to build a good chat user experience.

The following are some of the most used Core features:

* User to User and Group chat:

  * This is the most basic form of messaging which can exists between two individual users or users that are a part of a group. For a developer's perspective, the actual chat works using the following delivery methods:
  * On the message sender's side, the messages are sent using CometChat UI Kits which use SDKs which act as an API wrapper.
  * On the message receiver's side, the messages are delivered using a Websocket connection to the CometChat plaform which is managed by the SDKs.
  * For more details on Websockets and its connectivity details, please visit [Managing Web Sockets](/sdk/javascript/managing-web-sockets-connections-manually) in the CometChat SDK.
  * By default, user and group messaging along with Web Socket implementation is available in the UI Kits.

* Media sharing:

  * Sharing files, videos and other media types are the key in today's messaging world. You can implement media messages using SDKs or UI Kits as well as use [Extensions](/fundamentals/extensions-overview) for Gifs and Stickers.
  * By default, support for Media messages is available in the UI Kits.

* Message Delivery and Read receipts:

  * Message delivery receipts indicate that a message has reached the message receiver. Message read receipt indicates that the message has been read by the message receiver. CometChat supports the following features from a message delivery and read indicator perspective:
  * Mark up to a message as delivered.
  * Mark up to a message as read.
  * Mark all messages after a particular message as unread.
  * To view these features, please visit [Delivery and Read receipts](/sdk/javascript/delivery-read-receipts#mark-messages-as-unread) in the SDK docs.
  * By default, support delivery and read receipts is available in the UI Kits.

* Typing indicators:

  * Typing indicators in a conversation provide an indication to other users that a given user is typing a message. To implement typing indicators, visit the [Typing indicators](/sdk/javascript/typing-indicators) section of the SDK docs.
  * By default, support Typing indicators is available in the UI Kits.

* Mentions (@username):

  * Mentions allow users to refer to a specific user in a conversation. This is done by sending a '@username' in the message to address that user.
  * To implement Mentions, please visit [Mentions](/sdk/javascript/mentions) section in the SDK docs.
  * By default, support for Mentions is available in the UI Kits.

* Reactions:

  * Reactions on a message allow users to express their emotions using emojis. To implement Reactions, please visit the [Reactions](/sdk/javascript/reactions) section in the SDK docs.
  * By default, support for Reactions is available in the UI Kits.

* Threaded Conversations:

  * Message threads allow users to branch off a conversation specific to a topic within a conversation in a sub-conversation. Such a conversation is called a Threaded conversation. To implement Threads in a conversation, please visit [Threaded Messages](/sdk/javascript/threaded-messages) section in the docs.
  * By default, support for Threaded conversations is available in the UI Kits.

* User presence:

  * User presence helps users to understand if a particular user is online and hence available for chat. To implement User presence, please visit the [User Presence](/sdk/javascript/user-presence) section in the docs.
  * By default, support for User Presence is available in the UI Kits.
