# Guild, friends, groups per character instead of per account

**URL:** <https://forum.heroiclabs.com/t/guild-friends-groups-per-character-instead-of-per-account/6429>\
**Category:** Game Design\
**Created:** [October 12, 2025, 2:39am UTC](https://forum.heroiclabs.com/t/guild-friends-groups-per-character-instead-of-per-account/6429 "2025-10-12T02:39:12Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![dungeon2567](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.heroiclabs.com/dungeon2567/32/2518_2.png) [@dungeon2567](https://forum.heroiclabs.com/u/dungeon2567)\
**Post date:** [October 12, 2025, 2:39am UTC](https://forum.heroiclabs.com/t/guild-friends-groups-per-character-instead-of-per-account/6429/1 "2025-10-12T02:39:12Z")

</div>

What is the best way of architecting every feature like chat, friend, group to Work on a per character basis?

---

<div class="post-metadata">

**Author:** ![novabyte](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.heroiclabs.com/novabyte/32/1324_2.png) [@novabyte](https://forum.heroiclabs.com/u/novabyte)\
**Post date:** [October 12, 2025, 2:19pm UTC](https://forum.heroiclabs.com/t/guild-friends-groups-per-character-instead-of-per-account/6429/2 "2025-10-12T14:19:18Z")

</div>

@dungeon2567 We’ve helped game teams with this kind of game design requirement in the past. There’s an elegant solution to achieve this game design:

1. The player signs in with one of the auth options in Nakama (Steam, Device, etc, etc.)
2. When the player creates a “character” in the game world you create a random UUID (i.e. `Guid.NewGuid.ToString()` and you authenticate with that.
3. Store within a storage object against the Nakama user in step (1) the UUID used to create the character. Maybe store it under a collection named by the Nakama user ID in step (1) and the key called `”characters”`.
4. Use all Nakama features as you normally would while signed in as the Character.

The added advantage of this approach is that if you wanted to; you could have Friends lists and similar belong to the Nakama user created in Step (1) but all the Character specific information and progress would belong to the Nakama user created in Step (2).

This approach also works really well with gameplay frameworks like [Hiro](https://heroiclabs.com/hiro/#learn-more).

Hope it helps.

---

<div class="post-metadata">

**Author:** ![dungeon2567](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.heroiclabs.com/dungeon2567/32/2518_2.png) [@dungeon2567](https://forum.heroiclabs.com/u/dungeon2567)\
**Post date:** [October 12, 2025, 4:59pm UTC](https://forum.heroiclabs.com/t/guild-friends-groups-per-character-instead-of-per-account/6429/3 "2025-10-12T16:59:11Z")

</div>

What is the best way of autheticating with this guid? using deviceId? is it secure? what if other players have access to this uuid?

---

<div class="post-metadata">

**Author:** ![novabyte](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.heroiclabs.com/novabyte/32/1324_2.png) [@novabyte](https://forum.heroiclabs.com/u/novabyte)\
**Post date:** [October 12, 2025, 8:11pm UTC](https://forum.heroiclabs.com/t/guild-friends-groups-per-character-instead-of-per-account/6429/4 "2025-10-12T20:11:46Z")

</div>

@dungeon2567 Use custom auth, and pass in the UUID as the input ID. All of the identifiers used with authentication are private to the player.

There’s also improvements you could make to this flow in the future but it is not worth the over optimization until you have Characters and the various gameplay features implemented on it.

---

<div class="post-metadata">

**Author:** ![xuzhennan](https://avatars.discourse-cdn.com/v4/letter/x/838e76/32.png) [@xuzhennan](https://forum.heroiclabs.com/u/xuzhennan)\
**Post date:** [October 13, 2025, 3:56am UTC](https://forum.heroiclabs.com/t/guild-friends-groups-per-character-instead-of-per-account/6429/5 "2025-10-13T03:56:20Z")

</div>

I wish I could buy Hiro license, but sales email ghost me for centries. 🫠

---

<div class="post-metadata">

**Author:** ![novabyte](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.heroiclabs.com/novabyte/32/1324_2.png) [@novabyte](https://forum.heroiclabs.com/u/novabyte)\
**Post date:** [October 20, 2025, 12:50pm UTC](https://forum.heroiclabs.com/t/guild-friends-groups-per-character-instead-of-per-account/6429/6 "2025-10-20T12:50:07Z")

</div>

@xuzhennan Sorry we’ve not followed up. Please could you follow up with me over a forum DM which includes your project and any other details you can share and I’ll help.

---

<div class="post-metadata">

**Author:** ![xuzhennan](https://avatars.discourse-cdn.com/v4/letter/x/838e76/32.png) [@xuzhennan](https://forum.heroiclabs.com/u/xuzhennan)\
**Post date:** [October 20, 2025, 10:25pm UTC](https://forum.heroiclabs.com/t/guild-friends-groups-per-character-instead-of-per-account/6429/7 "2025-10-20T22:25:52Z")

</div>

Hi @novabyte , thank you for the help! I just sent a forum DM including the details of our project. Really appreciate it!

---

<div class="post-metadata">

**Author:** ![xuzhennan](https://avatars.discourse-cdn.com/v4/letter/x/838e76/32.png) [@xuzhennan](https://forum.heroiclabs.com/u/xuzhennan)\
**Post date:** [October 27, 2025, 5:41pm UTC](https://forum.heroiclabs.com/t/guild-friends-groups-per-character-instead-of-per-account/6429/8 "2025-10-27T17:41:56Z")

</div>

Hi @novabyte , just checking in to see if you had a chance to review my forum DM with our project details. We’re still very interested in getting a Hiro license and would love to move forward when possible. Thanks again for your time and help!
