---
source_url: https://www.pubnub.com/docs/chat/unreal-chat-sdk/learn/chat-entities/membership
title: Membership object
updated_at: 2026-06-16T12:49:11.629Z
---

> Documentation Index
> For a curated overview of PubNub documentation, see: https://www.pubnub.com/docs/llms.txt
> For the full list of all documentation pages, see: https://www.pubnub.com/docs/llms-full.txt


# Membership object

`Membership` represents a single user-channel relationship in a chat.

## Properties

The `Membership` object has the following properties:

| Parameter | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| Channel | Channel | Optional |  | [Channel object](https://www.pubnub.com/docs/chat/unreal-chat-sdk/learn/chat-entities/channel). |
| User | User | Optional |  | [User object](https://www.pubnub.com/docs/chat/unreal-chat-sdk/learn/chat-entities/user). |
| Custom | FString | Optional |  | Any custom properties or metadata associated with the channel-user membership, such as [lastReadMessageTimetoken](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/unread). |

:::tip API limits
To learn about the maximum length of parameters used to set channel membership metadata, refer to [REST API docs](https://www.pubnub.com/docs/sdks/rest-api/set-membership-metadata).
:::

## Methods

You can call the following methods on the `Membership` object.

Click on each method for more details.

* [Delete()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/channels/membership#delete)
* [GetChannel()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/channels/membership#get-membership-data)
* [GetChannelID()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/channels/membership#get-membership-data)
* [GetLastReadMessageTimetoken()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/unread#get-last-read-message)
* [GetMembershipData()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/channels/membership#get-membership-data)
* [GetUnreadMessagesCount()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/unread#get-unread-messages-count-one-channel)
* [GetUser()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/channels/membership#get-membership-data)
* [GetUserID()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/channels/membership#get-membership-data)
* [SetLastReadMessage()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/unread#mark-messages-as-read-one-channel)
* [SetLastReadMessageTimetoken()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/unread#mark-messages-as-read-one-channel)
* [Update()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/channels/membership#update)

## Streaming

Call these methods to subscribe to or unsubscribe from real-time updates for this `Membership` object.

* [StreamUpdates()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/channels/membership#get-updates)
* [StopStreamingUpdates()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/channels/membership#get-updates)
* [StreamUpdatesOn()](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/channels/membership#get-updates)

## Use case

`Membership` methods enable:

* [Updating](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/channels/membership#update) user-channel relationships and [getting updates](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/channels/membership#get-updates) on changes
* [Deleting](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/channels/membership#delete) user-channel relationships
* Tracking the [last message read](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/unread#mark-messages-as-read-one-channel) by a user on a channel
* Getting the count of [unread messages](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/messages/unread#get-unread-messages-count-one-channel) for a user