---
source_url: https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/users/permissions
title: Permissions
updated_at: 2026-09-30T07:20:08.000Z
---

# Permissions

> For AI agents: documentation index at https://www.pubnub.com/llms-full.txt

Control who can access channels and user metadata in your chat app. Define permission schemas to protect against [unauthorized access](https://www.pubnub.com/docs/chat/unreal-chat-sdk/learn/access-control.md).

**Examples:**

* Restrict channel/profile modifications to specific users
* Allow only admins to remove users from channels

**Unreal Chat SDK limitations** (client-side only):

* Channel membership restrictions (direct, group, public)
* Feature availability errors in public chats (typing indicator, invites, read receipts)

Use [Access Manager](https://www.pubnub.com/docs/security/access-control/overview.md) for strict server-enforced access rules. We recommend [Unreal SDK's Access Manager](https://www.pubnub.com/docs/sdks/unreal/api-reference/access-manager.md) for server-side operations.

## Required configuration

1. Enable Access Manager in the [Admin Portal](https://admin.pubnub.com/).
2. [Initialize Unreal SDK](https://www.pubnub.com/docs/sdks/unreal.md):

   * **Server**: with [Secret Key](https://www.pubnub.com/docs/security/access-control/overview.md) to administer permissions

3. [Initialize Unreal Chat SDK](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/configuration.md#initialize-pubnub-chat):

   * **Client**: with `Auth Key` to authenticate users

See [Moderation](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/users/moderation.md#server-side-restrictions) for examples.

:::warning Secret key security
Never expose `Secret Key` to clients. If compromised, generate a new one in the Admin Portal.
:::

## Use Access Manager

Available [Unreal SDK](https://www.pubnub.com/docs/sdks/unreal/api-reference/access-manager.md) methods:

* [GrantToken()](https://www.pubnub.com/docs/sdks/unreal/api-reference/access-manager.md#grant-token) - Generate time-limited token with access control list
* [RevokeToken()](https://www.pubnub.com/docs/sdks/unreal/api-reference/access-manager.md#revoke-token) - Disable token and revoke permissions
* [ParseToken()](https://www.pubnub.com/docs/sdks/unreal/api-reference/access-manager.md#parse-token) - Decode token to view permissions
* [SetToken()](https://www.pubnub.com/docs/sdks/unreal/api-reference/access-manager.md#set-token) - Update authentication token

:::note Channel group limitation
Unreal Chat SDK doesn't support channel groups. Set permissions only for channels and users.
:::

### Resource permissions

Define operations users can perform on PubNub resources:

| Resource type | Permissions |
| --- | --- |
| `channels` | `read`, `write`, `get`, `manage`, `update`, `join`, `delete` |
| `uuids` | `get`, `update`, `delete` |

Read the [Moderation](https://www.pubnub.com/docs/chat/unreal-chat-sdk/build/features/users/moderation.md#secure-moderation) documentation to learn how you can mute and ban users in your chat app and secure these restrictions with Access Manager.

### Check for permissions

You can use the `AccessManager->CanI()` method to check if the current user has permissions for particular operations on a specific resource. For more information, refer to [Token permissions](https://www.pubnub.com/docs/chat/unreal-chat-sdk/learn/access-control.md#token-permissions).

Last updated at: 2026-09-30T07:20:08.000Z
