Make game invites better integrate with games

As a Roblox developer, it is currently too hard to integrate invites into our game, mainly due to the disabling of the ability to access the list of invited players. I’m fully aware of the reason why this was initially disabled, and don’t know what new measures (if any) have been put into place - after all, I don’t typically spam invites to any of my friends :stuck_out_tongue:

I’ll start with the use case: inviting friends into personal worlds. In a game I’m currently working on, players have the ability to create their own personal worlds, which they can build in without having to deal with the distractions of a regular public server. These players can invite their friends into the world to build with them, too.

Suppose Alice is building a cool house, and Bob sees Alice playing. Bob wants to join in, but doesn’t have the link to the game. In an ideal situation, Alice could use the invite prompt to send an invite to Bob, who would get the invite in their chat inbox. Upon accepting the invite, the game would add Bob to Alice’s world. The result - when Bob joins and looks at the world select screen, they can see Alice’s world already there, and jump right in.

At the moment, however, this can’t be done. If using SocialService, there is no way that the game could know who to add to the world, since there is no returned information about invite recipients at all. If using a custom implementation, then the player being invited has to enter the game before receiving any notification, which is suboptimal for many reasons (including the above case where Bob doesn’t have the link to the game, as one example).

I’m not proposing to revert the invite system to the way it used to be (invite spam sucks), but instead I’d like to propose a few ideas:

  • When a player invites some people to a game, some unique identifier is created at that instant. Later, if an invited player joins the game through that link, that identifier could appear as a property under their player. This allows the game to link that player to that invite, and perform any relevant actions, such as adding them to a friend’s world as explained above.

  • Put a cooldown on invites, so people can’t spam invites. This could be time-based, such as ‘you can only make x invites per minute’ or quantity-based, such as ‘you can only invite x people at the same time’. Maybe even a system where invites ‘expire’ and there’s a limit on how many ‘pending’ invites you can have at one time. Not sure if anything like this is added yet, but it’s worth considering methinks.

Or maybe, a simplistic suggestion:

  • Explicitly disallow invite incentives. We already enforce rules around stuff like lootboxes which cause controversy and problems in the community, so why not do something similar here? The invite mechanism shouldn’t incentivise invite spam, or inviting just for rewards. Players should invite their friends for intrinsic reasons instead, I’m sure we can all agree.

Hopefully this gets taken into consideration - it’s been ages since this useful feature of invites was disabled, and it’d be really cool if we could actually integrate it cleanly with our own games :slightly_smiling_face: