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

# Discord Social SDK Guides

> Development guides for integrating the Discord Social SDK into your game.

export const LettersIcon = props => <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path fill="currentColor" fill-rule="evenodd" d="M13.23 18h-2.27l-.99-2.77H4.75L3.76 18H1.5L6.21 5.58h2.3L13.23 18ZM7.36 7.87 5.44 13.3h3.85L7.36 7.87ZM17 18.25c-.75 0-1.38-.22-1.88-.66a2.36 2.36 0 0 1-.76-1.88c0-1.9 1.73-2.86 5.18-2.9v-.25c0-.51-.15-.91-.45-1.2-.3-.29-.72-.43-1.26-.43a3.55 3.55 0 0 0-2.3.97l-.97-1.24c.4-.44.9-.77 1.5-1.01a4.95 4.95 0 0 1 1.88-.36c2.4 0 3.58 1.09 3.58 3.27V18h-1.81l-.17-1.06a3.01 3.01 0 0 1-2.53 1.31Zm.51-1.58c.78 0 1.46-.38 2.03-1.14v-1.4c-1.1.04-1.92.18-2.44.43-.53.24-.8.6-.8 1.06 0 .34.11.6.33.78.21.18.5.27.88.27Z" clip-rule="evenodd" /></svg>;

export const StarShootingIcon = props => <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path fill="currentColor" d="M17.93 1.51a.74.74 0 0 0-1.41 0l-1.13 3.47h-3.65a.74.74 0 0 0-.43 1.35l2.95 2.14-1.13 3.47a.74.74 0 0 0 1.14.83l2.95-2.15 2.96 2.15a.74.74 0 0 0 1.14-.83l-1.13-3.47 2.95-2.14a.74.74 0 0 0-.43-1.35h-3.65l-1.13-3.47ZM10.7 14.7a1 1 0 0 0-1.4-1.4l-8 8a1 1 0 1 0 1.4 1.4l8-8ZM9.7 8.3a1 1 0 0 1 0 1.4l-6 6a1 1 0 0 1-1.4-1.4l6-6a1 1 0 0 1 1.4 0ZM15.7 15.7a1 1 0 0 0-1.4-1.4l-6 6a1 1 0 1 0 1.4 1.4l6-6Z" /></svg>;

export const ShieldIcon = props => <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path fill="currentColor" fill-rule="evenodd" d="M4.27 5.22A2.66 2.66 0 0 0 3 7.5v2.3c0 5.6 3.3 10.68 8.42 12.95.37.17.79.17 1.16 0A14.18 14.18 0 0 0 21 9.78V7.5c0-.93-.48-1.78-1.27-2.27l-6.17-3.76a3 3 0 0 0-3.12 0L4.27 5.22ZM6 7.68l6-3.66V12H6.22C6.08 11.28 6 10.54 6 9.78v-2.1Zm6 12.01V12h5.78A11.19 11.19 0 0 1 12 19.7Z" clip-rule="evenodd" /></svg>;

export const ClydeIcon = props => <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path fill="currentColor" d="M19.73 4.87a18.2 18.2 0 0 0-4.6-1.44c-.21.4-.4.8-.58 1.21-1.69-.25-3.4-.25-5.1 0-.18-.41-.37-.82-.59-1.2-1.6.27-3.14.75-4.6 1.43A19.04 19.04 0 0 0 .96 17.7a18.43 18.43 0 0 0 5.63 2.87c.46-.62.86-1.28 1.2-1.98-.65-.25-1.29-.55-1.9-.92.17-.12.32-.24.47-.37 3.58 1.7 7.7 1.7 11.28 0l.46.37c-.6.36-1.25.67-1.9.92.35.7.75 1.35 1.2 1.98 2.03-.63 3.94-1.6 5.64-2.87.47-4.87-.78-9.09-3.3-12.83ZM8.3 15.12c-1.1 0-2-1.02-2-2.27 0-1.24.88-2.26 2-2.26s2.02 1.02 2 2.26c0 1.25-.89 2.27-2 2.27Zm7.4 0c-1.1 0-2-1.02-2-2.27 0-1.24.88-2.26 2-2.26s2.02 1.02 2 2.26c0 1.25-.88 2.27-2 2.27Z" /></svg>;

export const BugIcon = props => <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path fill="currentColor" d="M9.54 3.28a3 3 0 0 0-.37.74c-.19.52.28.98.83.98h4c.55 0 1.02-.46.83-.98a2.96 2.96 0 0 0-.37-.74c.23-.16.56-.28.99-.28a1 1 0 1 0 0-2c-1 0-2.01.4-2.68 1.1a3 3 0 0 0-1.54 0A3.76 3.76 0 0 0 8.55 1a1 1 0 0 0 0 2c.43 0 .76.12 1 .28ZM18.01 18.85c-.04.1-.03.22.05.3l1.51 1.5a1 1 0 0 1-1.41 1.42l-1.18-1.18a.26.26 0 0 0-.37 0 6.7 6.7 0 0 1-2.8 1.82c-.42.14-.83-.2-.86-.64l-.42-8.57a.53.53 0 0 0-1.05 0l-.43 8.57c-.03.45-.44.78-.87.64A6.7 6.7 0 0 1 7.4 20.9a.26.26 0 0 0-.37-.01l-1.18 1.18a1 1 0 0 1-1.41-1.41l1.51-1.51c.08-.08.1-.2.05-.3-.47-.94-.78-2-.92-3.12a.25.25 0 0 0-.25-.23H3a1 1 0 1 1 0-2h1.82c.13 0 .24-.1.25-.23.14-1.13.45-2.18.92-3.12a.25.25 0 0 0-.05-.3l-1.51-1.5a1 1 0 1 1 1.41-1.42L7.02 8.1c.1.1.27.1.37 0a6.66 6.66 0 0 1 2.95-1.87c.38-.11.75.14.85.52l.57 2.27c.06.25.42.25.48 0l.57-2.27c.1-.38.47-.63.85-.52 1.1.33 2.11.98 2.95 1.86.1.1.26.11.37.01l1.18-1.18a1 1 0 1 1 1.41 1.41l-1.51 1.51c-.08.08-.1.2-.05.3.47.94.78 2 .92 3.12.01.13.12.23.25.23H21a1 1 0 1 1 0 2h-1.82c-.13 0-.24.1-.25.23a9.68 9.68 0 0 1-.92 3.12Z" /></svg>;

export const MagicWandIcon = props => <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path fill="currentColor" d="M18.48 13.39a.56.56 0 0 1 1.04 0l.84 2.25 2.25.84c.48.18.48.86 0 1.04l-2.25.84-.84 2.25a.56.56 0 0 1-1.04 0l-.84-2.25-2.25-.84a.56.56 0 0 1 0-1.04l2.25-.84.84-2.25Zm-4.4-5.63c.26-.26.73-.2 1.06.13l1.53 1.53c.33.33.39.8.13 1.06L6.73 20.55c-.26.26-.73.2-1.06-.13L4.14 18.9c-.33-.33-.39-.8-.13-1.05L14.09 7.76Zm3.68-3.88c.26-.25.73-.2 1.05.13l1.54 1.54c.33.33.38.8.13 1.05L18.4 8.68c-.25.25-.72.2-1.05-.13L15.81 7c-.32-.32-.38-.8-.13-1.05l2.08-2.08ZM9.53 1.25a.5.5 0 0 1 .94 0l.62 1.66 1.66.62a.5.5 0 0 1 0 .94l-1.66.62-.62 1.66a.5.5 0 0 1-.94 0L8.91 5.1l-1.66-.62a.5.5 0 0 1 0-.94l1.66-.62.62-1.66Z" /><path fill="currentColor" d="M18.48 13.39a.56.56 0 0 1 1.04 0l.84 2.25 2.25.84c.48.18.48.86 0 1.04l-2.25.84-.84 2.25a.56.56 0 0 1-1.04 0l-.84-2.25-2.25-.84a.56.56 0 0 1 0-1.04l2.25-.84.84-2.25ZM14.09 7.76c.25-.26.72-.2 1.05.13l1.53 1.53c.33.33.39.8.13 1.06L6.73 20.55c-.26.26-.73.2-1.06-.13L4.14 18.9c-.33-.33-.39-.8-.13-1.05L14.09 7.76ZM17.76 3.88c.26-.25.73-.2 1.05.13l1.54 1.54c.33.33.38.8.13 1.05L18.4 8.68c-.25.25-.72.2-1.05-.13L15.8 7c-.32-.32-.38-.8-.13-1.05l2.08-2.08ZM9.53 1.25a.5.5 0 0 1 .94 0l.62 1.66 1.66.62a.5.5 0 0 1 0 .94l-1.66.62-.62 1.66a.5.5 0 0 1-.94 0L8.91 5.1l-1.66-.62a.5.5 0 0 1 0-.94l1.66-.62.62-1.66Z" /></svg>;

export const VoiceNormalIcon = props => <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path fill="currentColor" d="M12 3a1 1 0 0 0-1-1h-.06a1 1 0 0 0-.74.32L5.92 7H3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h2.92l4.28 4.68a1 1 0 0 0 .74.32H11a1 1 0 0 0 1-1V3ZM15.1 20.75c-.58.14-1.1-.33-1.1-.92v-.03c0-.5.37-.92.85-1.05a7 7 0 0 0 0-13.5A1.11 1.11 0 0 1 14 4.2v-.03c0-.6.52-1.06 1.1-.92a9 9 0 0 1 0 17.5Z" /><path fill="currentColor" d="M15.16 16.51c-.57.28-1.16-.2-1.16-.83v-.14c0-.43.28-.8.63-1.02a3 3 0 0 0 0-5.04c-.35-.23-.63-.6-.63-1.02v-.14c0-.63.59-1.1 1.16-.83a5 5 0 0 1 0 9.02Z" /></svg>;

export const TextControllerIcon = props => <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path fill="currentColor" d="M24 5.7c0-1.54-.2-2.66-.34-3.23C23.35 1.17 22.3.92 21.2.68a.68.68 0 0 0-.62.18c-.16.16-.35.33-.58.32a19.27 19.27 0 0 0-2 0c-.23 0-.42-.16-.58-.32a.68.68 0 0 0-.62-.18c-1.1.24-2.15.5-2.46 1.8-.13.56-.34 1.68-.34 3.22v2.23a1.4 1.4 0 0 0 2.66.63l.8-1.6c.1-.2.34-.3.56-.25.26.06.62.12.98.12s.72-.06.98-.12a.5.5 0 0 1 .56.25l.8 1.6A1.4 1.4 0 0 0 24 7.93V5.7Z" /><path fill="currentColor" d="M10.18 8h1.33c.27 0 .5.22.54.49.03.21.09.43.16.63.15.38-.1.88-.52.88H9.85l-.67 4h4.97l.37-2.23c.05-.29.33-.47.62-.45l.26.01h.63c.31 0 .55.28.5.59L16.18 14H20a1 1 0 1 1 0 2h-4.15l-.86 5.16a1 1 0 1 1-1.98-.32l.8-4.84H8.86l-.86 5.16A1 1 0 1 1 6 20.84L6.82 16H3a1 1 0 1 1 0-2h4.15l.67-4H4a1 1 0 0 1 0-2h4.15l.86-5.16a1 1 0 1 1 1.98.32L10.19 8Z" /></svg>;

export const DoorEnterIcon = props => <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path fill="currentColor" d="M9 12a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0v-2a1 1 0 0 1 1-1Z" /><path fill="currentColor" fill-rule="evenodd" d="M2.75 3.02A3 3 0 0 1 5 2h10a3 3 0 0 1 3 3v7.5a.5.5 0 0 1-.5.5H16a3 3 0 0 0-3 3v3.5a2.5 2.5 0 0 1-3.68 2.2l-5.8-3.09A3 3 0 0 1 2 16V5a3 3 0 0 1 .76-1.98Zm1.3 1.95A.04.04 0 0 0 4 5v11c0 .36.2.68.49.86l5.77 3.08a.5.5 0 0 0 .74-.44V8.02a.5.5 0 0 0-.32-.46l-6.63-2.6Z" clip-rule="evenodd" /><path fill="currentColor" d="M15 18.5V22a1 1 0 1 0 2 0v-3.59l4.3 4.3a1 1 0 0 0 1.4-1.42L18.42 17H22a1 1 0 1 0 0-2h-6a1 1 0 0 0-1 1v2.5Z" /></svg>;

export const ChatIcon = props => <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path fill="currentColor" d="M12 22a10 10 0 1 0-8.45-4.64c.13.19.11.44-.04.61l-2.06 2.37A1 1 0 0 0 2.2 22H12Z" /></svg>;

export const InboxIcon = props => <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path fill="currentColor" fill-rule="evenodd" d="M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3H5ZM4 5.5C4 4.67 4.67 4 5.5 4h13c.83 0 1.5.67 1.5 1.5v6c0 .83-.67 1.5-1.5 1.5h-2.65c-.5 0-.85.5-.85 1a3 3 0 1 1-6 0c0-.5-.35-1-.85-1H5.5A1.5 1.5 0 0 1 4 11.5v-6Z" clip-rule="evenodd" /></svg>;

export const UserStatusIcon = props => <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path fill="currentColor" d="M16 6a4 4 0 1 1-8 0 4 4 0 0 1 8 0ZM2 20.53A9.53 9.53 0 0 1 11.53 11h.94c1.28 0 2.5.25 3.61.7.41.18.36.77-.05.96a7 7 0 0 0-3.65 8.6c.11.36-.13.74-.5.74H6.15a.5.5 0 0 1-.5-.55l.27-2.6c.02-.26-.27-.37-.41-.16-.48.74-1.03 1.8-1.32 2.9a.53.53 0 0 1-.5.41h-.22C2.66 22 2 21.34 2 20.53Z" /><path fill="currentColor" d="M24 19a5 5 0 1 1-10 0 5 5 0 0 1 10 0Z" /></svg>;

export const ListViewIcon = props => <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path fill="currentColor" d="M4 2a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM4 10a2 2 0 1 0 0 4 2 2 0 0 0 0-4ZM2 20a2 2 0 1 1 4 0 2 2 0 0 1-4 0ZM9 3a1 1 0 0 0 0 2h12a1 1 0 1 0 0-2H9ZM8 12a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H9a1 1 0 0 1-1-1ZM9 19a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2H9Z" /></svg>;

export const UserPlusIcon = props => <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><path fill="currentColor" d="M19 14a1 1 0 0 1 1 1v3h3a1 1 0 0 1 0 2h-3v3a1 1 0 0 1-2 0v-3h-3a1 1 0 1 1 0-2h3v-3a1 1 0 0 1 1-1Z" /><path fill="currentColor" d="M16.83 12.93c.26-.27.26-.75-.08-.92A9.5 9.5 0 0 0 12.47 11h-.94A9.53 9.53 0 0 0 2 20.53c0 .81.66 1.47 1.47 1.47h.22c.24 0 .44-.17.5-.4.29-1.12.84-2.17 1.32-2.91.14-.21.43-.1.4.15l-.26 2.61c-.02.3.2.55.5.55h7.64c.12 0 .17-.31.06-.36C12.82 21.14 12 20.22 12 19a3 3 0 0 1 3-3h.5a.5.5 0 0 0 .5-.5V15c0-.8.31-1.53.83-2.07ZM12 10a4 4 0 1 0 0-8 4 4 0 0 0 0 8Z" /></svg>;

export const ImageCard = ({img, href, title, children, imageHeight = 120, imageFade = false, imageOffset = 0}) => {
  return <div className="MDXImageCard image-card-wrapper" style={{
    position: 'relative',
    cursor: 'pointer',
    marginTop: '0.5rem',
    marginBottom: '0.5rem'
  }}>
      <a href={href} aria-label={title} className="MDXImageCard image-card-link" style={{
    position: 'absolute',
    inset: 0,
    zIndex: 1
  }} />
      <div className="MDXImageCard image-card" style={{
    display: 'flex',
    flexDirection: 'column',
    borderRadius: '1rem',
    overflow: 'hidden',
    height: '100%'
  }}>
        <div style={{
    height: `${imageHeight}px`,
    width: '100%',
    overflow: 'hidden',
    flexShrink: 0,
    backgroundColor: '#242429',
    ...imageFade && ({
      maskImage: 'linear-gradient(to bottom, black 30%, transparent 100%)',
      WebkitMaskImage: 'linear-gradient(to bottom, black 30%, transparent 100%)'
    })
  }}>
          <img src={img} alt={title} style={{
    width: '100%',
    height: '100%',
    objectFit: 'cover',
    objectPosition: `center calc(50% - ${imageOffset}px)`,
    display: 'block',
    margin: 0
  }} />
        </div>
        <div style={{
    display: 'flex',
    flexDirection: 'column',
    padding: '1.25rem 1.5rem',
    flex: 1
  }}>
          <p className="MDXImageCard image-card-title" style={{
    margin: 0,
    fontWeight: 600,
    fontSize: '1rem'
  }}>
            {title}
          </p>
          {children && <p className="MDXImageCard image-card-description" style={{
    margin: '0.25rem 0 0',
    fontSize: '1rem',
    lineHeight: '1.5rem'
  }}>
              {children}
            </p>}
        </div>
      </div>
    </div>;
};

<Note>
  Visit [Discord Social SDK](/developers/discord-social-sdk/overview) for more on integrating games with the Discord Social SDK, including how to get started, best practices, and more.
</Note>

## Getting Started

<ImageCard title="Getting Started with the Social SDK" href="/developers/discord-social-sdk/getting-started" img="https://mintcdn.com/discord/KbTJiI51tEBr5wj-/images/headers/docs-sdk-hero.png?fit=max&auto=format&n=KbTJiI51tEBr5wj-&q=85&s=f8fba5d14ec711f160093a8ebf65ca93" width="1336" height="540" data-path="images/headers/docs-sdk-hero.png">
  A guide to integrating your game with the Discord Social SDK.
</ImageCard>

## Guides

<CardGroup cols={3}>
  <Card title="Account Linking with Discord" href="/developers/discord-social-sdk/development-guides/account-linking-with-discord" icon={<UserPlusIcon/>}>
    Learn how to authenticate users with their Discord accounts using OAuth2.
  </Card>

  <Card title="Creating a Unified Friends List" href="/developers/discord-social-sdk/development-guides/creating-a-unified-friends-list" icon={<ListViewIcon/>}>
    Combine Discord and game-specific friends in one view.
  </Card>

  <Card title="Setting Rich Presence" href="/developers/discord-social-sdk/development-guides/setting-rich-presence" icon={<UserStatusIcon/>}>
    Display detailed game status in Discord profiles.
  </Card>

  <Card title="Managing Game Invites" href="/developers/discord-social-sdk/development-guides/managing-game-invites" icon={<InboxIcon/>}>
    Allow players to invite friends to join their game session or party.
  </Card>

  <Card title="Sending Direct Messages" href="/developers/discord-social-sdk/development-guides/sending-direct-messages" icon={<ChatIcon/>}>
    Enable private messaging between players.
  </Card>

  <Card title="Managing Lobbies" href="/developers/discord-social-sdk/development-guides/managing-lobbies" icon={<DoorEnterIcon/>}>
    Bring players together in a shared lobby with invites, text chat, and voice comms.
  </Card>

  <Card title="Linked Channels" href="/developers/discord-social-sdk/development-guides/linked-channels" icon={<TextControllerIcon/>}>
    Connect game lobbies to Discord text channels.
  </Card>

  <Card title="Managing Voice Chat" href="/developers/discord-social-sdk/development-guides/managing-voice-chat" icon={<VoiceNormalIcon/>}>
    Add in-game voice communication.
  </Card>

  <Card title="Using Provisional Accounts" href="/developers/discord-social-sdk/development-guides/using-provisional-accounts" icon={<MagicWandIcon/>}>
    Give your users a seamless account experience with provisional accounts.
  </Card>
</CardGroup>

## Game Development Guides

<CardGroup cols={2}>
  <ImageCard title="How Do I Get My Game Seen?" href="/developers/game-development/how-to-get-your-game-seen" img="https://mintcdn.com/discord/V-kWBtRqSMM8Rh_T/images/game-development/how-to-get-your-game-seen/banner-how-to-get-your-game-seen.webp?fit=max&auto=format&n=V-kWBtRqSMM8Rh_T&q=85&s=c183c6b211c5f71f798b82f45c739c4d" width="1336" height="540" data-path="images/game-development/how-to-get-your-game-seen/banner-how-to-get-your-game-seen.webp">
    Implement Rich Presence with game details, lobby joining, game launching, and store links using the Social SDK
  </ImageCard>

  <ImageCard title="How Do I Add Proximity Voice Chat to My Game?" href="/developers/game-development/how-to-add-proximity-voice-chat-to-your-game" img="https://mintcdn.com/discord/wc8-o_i7qbdLKQLh/images/game-development/how-to-add-proximity-voice-chat-to-your-game/banner-proximity-voice-chat.webp?fit=max&auto=format&n=wc8-o_i7qbdLKQLh&q=85&s=488a0e6b24b1f0f8dcc2f1a566a18445" width="1336" height="540" data-path="images/game-development/how-to-add-proximity-voice-chat-to-your-game/banner-proximity-voice-chat.webp">
    Learn how to use the Social SDK's voice chat with Unity's 3D audio system to build proximity voice chat for a multiplayer game.
  </ImageCard>
</CardGroup>
