Game DVR: Best Practices

Here are some suggested best practices for creating and using game clips.

Style considerations when capturing clips

Keep game clips short

We recommend that developer-created videos capture just the highlight, without a lot of lead-up. While the length may vary based on the gameplay, the minimum length should be around six seconds and the average length should be around 30. Longer videos are possible for major events such as boss fights—but even those might be shortened to the final moments before the kill. Ultimately, the longer the video, the less likely it is to be watched.

Choose unique moments

The video is crafted based on a set of circumstances that each user can do differently, so that each developer-created video, even if for the same event, is interesting.

Choose moments that are personal

If possible, the video feels like it belongs only to the owner of the video—it’s about actions they took individually.

Choose moments that are celebratory

Celebrate your users. Make them feel like they did something really special to earn the video.

Clips are associated with a greatest moment

All developer created clips must be associated with a greatest moment defined in the Xbox Developer Portal. When creating the clip with a method such as RecordTimespanAsync, set the ID from Xbox Developer Portal in the GreatestMomentId.

Unlike Achievements, Game DVR moments were designed to be awardable multiple times. However, like achievements, moments should be a major accomplishment in the eyes of a gamer. For example, a single headshot in a first person shooter, while an accomplishment, would not usually be a recommended greatest moment since it can happen frequently. Five headshots in 5 seconds might be a greatest moment, if that’s a rare occurrence in your game. Each moment should be so special that there is an inherent uniqueness and “hard to obtain” factor to them.

Keep in mind that if a player is excited about something they just did that doesn’t rise to the level of a greatest moment, there’s still a “record that” button the player can use to save a clip.

If you have a question about whether or not something should be a moment, please contact your Developer Account Manager (DAM), and the team at Microsoft can help.

Getting the Right Friends’ Videos

With the new People model, it’s possible for users to have very long lists of people they follow (and therefore may wish to see videos from). You may wish to prioritize “Favorite” people over the full People list in your experiences.

Use the Right Name in Recordable Experiences

The Xbox User system provides the user’s GameDisplayName, which is the name by which a user should be known when they are playing games. You must use this name value to identify the user in any recorded clips.

Calling “Update Views” API

We recommend you call the “Update Views” API when the video is about 50% watched, regardless of length of the video.

Requirements for recording and playing game clips

For more information and updates to the limits, see https://developer.microsoft.com/en-us/games/xbox/partner/certification-requirements.

Maintain a separate frame buffer for Game DVR and screenshots

To support game DVR, your title must maintain two separate frame buffers: one for the game scene which you are going to present (1080p SDR –> 4K HDR) and another for game DVR and screenshots (720p SDR).

Game DVR Game-Created Clips

Titles that use game-generated clips must not exceed 15 different configured clips. Titles should use game-created clips to showcase experiences in their title. Titles call the GameDVR API to generate clips and those clips must have strings configured in XDP.

Playback of Game Clip

Titles must call the Game Clips Service for playback and enumerating clips. This GameDVR API provides the direct URL to the clip, but playback must be called through the GetClipsAsync and not through the direct URL, because URLs returned from this API can change.

Game-Created Clips with Kinect Feeds

Titles must not configure game-created clips when there are Kinect RGB or IR feeds on-screen.

Initialize audio, even if you’re not providing audio

Game DVR broadcasting assumes that your clip includes audio output, and broadcasting tools can appear to be hung at startup if title audio has not been initialized. To avoid this problem, your title must initialize audio, even if it is not producing audio, in order to enable broadcasting to work properly.

Remove Audio Stream from Video Clips for Licensed Music

If your game licenses music (such as for a dance game), and you do not have the rights to redistribute the music with this style of video, you need to mark the audio stream appropriately to remove it from the GameClip sound mix when recording.