The User Generated Content (UGC) service offered by AccelByte Gaming Services (AGS) manages in-game contents that are created by the players. By allowing players to create their own content, they become more invested in the game world and community. They can publish and share their own content and download other players' content. Game admins can also create and publish official content that can be downloaded and used by the players.
Using the UGC service, you can enable features such as:
- Custom levels: Allow players to create and share their own levels or maps, providing endless new challenges for other players.
- Custom skins: Allows players to create and customize their own skins and cosmetics within the game.
- Official cosmetics: Admins can provide official content that can be downloaded and used by the players to make their own character skin customization.
With the UGC service, there are many different scenarios that can benefit your games.
It is important to understand some of the key concepts used in the design of the UGC service.
User Generated Content
User Generated Content (UGC) refers to the custom content that is created by players or game admins. The content can be added to the game in the form of binary files.
The content published also contains a screenshot that can be a visual representation of the digital content stored in the binary file.
The published content can also have a unique sharecode that can be shared by the player to show off their creation to other players.
The UGC service allows your players to like other players' content, which can help to increase the visibility of the content and can encourage other players to create their own unique high-quality content.
Creator refers to the person or entity that creates custom content for the game. A UGC creator may be a player or a game admin.
Users can follow or unfollow other users (the content creators). The information for followed creators can be queried, including the total number of followers and a creator's content.
The UGC service manages user's content based on channels. A channel is a generic entity that is used to categorize users' content. You can use channels to group content by region, language, build version, patch, content category, or other category that suits your game scenario.
Categorize: Type, Sub Type, and Tags
Admins can create and maintain (including edit and delete) predefined types, subtypes and tags. Types and tags are unique, where subtypes must be under a parent type. When creating a preset, users can choose to use the predefined types, subtypes and tags created by admins.
UGC service architecture
This section explains how the UGC service works, and how it is integrated with other AGS services. Understanding the flow will make it easier for you to understand how best to use the service.
- The UGC service uses the AWS DocumentDB service to store its data. UGC also uses AWS S3 to store the content's binary file and screenshot.
- The UGC service supports the IAM ban feature. If a user is banned, the UGC service will be notified by the IAM service via Kafka. Then, the UGC service stores its ban information to DocumentDB.
- Players can also report content that breaks the Terms and Conditions (TnC). Players can report the content using the Reporting service. The Reporting service will notify the UGC service via Kafka. Once the UGC service is notified, it can hide the reported content.