1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
# NVIDIA Highlights Frequently Asked Questions
This document covers the reasons for integrating Highlights, an explanation for how it works, and best practices for integration. For technical question/issues please refer to the [SDK and Highlights Developer FAQ](./doc/NVIDIA_GfeSDK_Developer_FAQ.md)
## Why integrate NVIDIA Highlights?
* _NVIDIA Highlights_ enables gamers to automatically capture video and screenshots of the best moments of your game and share them to social media via the _GeForce Experience In-game Overlay_ (aka the _Overlay_).
* NVIDIA’s _ShadowPlay_ technology uses dedicated encoding hardware on the GPU so that these captures don’t impact gameplay.
* _GeForce Experience_ handles all capture functionality, UI, and settings, making developer integration through a simple API (the _GeForce Experience SDK_, aka _GFE-SDK_) quick and easy.
## How does NVIDIA Highlights work?
* Your game makes a _Configure_ call on _GFE-SDK_ to communicate all possible highlight types for the game. This in turn allows gamers to turn individual highlight types on and off in the _Overlay_.
* Your game makes a Create call to start a Highlights _session_.
* The first time your game tries to create a session, the _Overlay_ asks the gamer for permission to make recordings of their gameplay. This is analogous to a mobile application asking for permission to use the phone’s camera.

* Via the _Settings_ menu of the _Overlay_, the gamer may turn highlights for all games on and off, highlights just for your game on and off, and turn each highlight type for your game on and off individually.
* When something worth capturing happens, your game makes a _Set-Highlight_ call on _GFE-SDK_. This results in _GFE-SDK_ saving a video recording or screenshot in a temporary folder the gamer has configured.
* _GFE-SDK_ will announce each captured highlight with a notification to the gamer. Your game can also specify to _GFE-SDK_ that the highlight be unannounced (e.g. if this would reveal too much to the gamer ‘in the moment’). Also, a gamer may turn off this type of notification via the _Settings_ menu of the _Overlay_.
* A gamer uses your game’s UI element to launch the _Highlights Summary_. Be sure to follow the best practices listed at the end.
* The _Highlights Summary_ shows the latest highlights and allows the gamer to preview each one. The gamer may edit and upload a capture directly from this NVIDIA provided UI. The gamer may also save a highlight to _the Gallery_, the part of the _Overlay_ that manages the gamer’s captures.
* Once a highlight is saved to the _Gallery_ it is accessible just like a video or a screenshot captured manually. _The Gallery_ allows operations on content similar to those of the _Highlights Summary_ including review, edit, and upload.
## Should my game add UI to turn Highlights on and off?
* No, _GFE-SDK_ takes care of this already by prompting for the user’s permission to use Highlights the first time a game attempts to use do so (as described above and shown below).

Example: Highlights permissions button dialog as implemented in the UWP sample.
## When should I make Configure and Create calls?
* After all drawing and input subsystems have been initialized for the game. Calling too early could cause integration bugs with the permissions dialog, such as
* Automatically closing on a Device Context or draw change
* Looking hung when the render pipeline is stalled
* When the API call and related Permissions dialog feels natural to the game’s startup flow. Calling too soon after game invocation before the title screen or during title cinematics will feel jarring to the user and might block your opening cinematics. Calling it after the user has started a level/match and during the level loading screen while the user is waiting would be a more natural interaction.
## How should I implement my individual game Highlights?
* Only save the best moments of the gameplay, such as kills, deaths, and victories, as highlights.
* Rule of thumb: If the average user can perform the moment often, it is not a Highlight.
* Tune the start and end points of a video highlight to showcase the essence of the gameplay, without being overlong. 20 seconds before the instant of interest and 10 seconds after is reasonable in most scenarios.
* Use the screenshot capability to capture moments such as victory or score screens.
## What are the best practices for adding a UI element in my game to open the Highlights Summary?
* Add an in-game UI element to launch the _Highlights Summary_ in places that are easily accessible but won’t interfere with gameplay, e.g. on the end of match summary screen or in the main game menu.

* The button should be prominently displayed to allow users to easily find the feature.
* When implementing your UI element follow the “NVIDIA HIGHLIGHTS BUTTON PROPER USAGE” guidelines document in the _GFE-SDK_ package adhering to the sizes, clear space, and specific colors prescribed there. The package also provides the necessary vector graphics assets files to do so.
## When should I allow the user to open the Highlights Summary?
* When the user has plenty of time to casually interact with their highlights. A short countdown timer before next round starts, where the level reloads and the user is back in the action, would not give the user time.
* When the summary can be repeatedly accessible, allowing the user to open it, close it, and decide to re-open to work with any remaining highlights. If the user accidentally closes it, they shouldn’t be locked out of getting back to their remaining highlights.
## Can I directly access my game’s Highlights files?
* No, all highlights are captured into a user-defined temporary folder, and are subject to deletion based on FIFO rules around user-defined space allocation.
* The user has the option to save these temporary highlights to the GeForce Experience Gallery, however, they can still be deleted by the user at any point.
## Why does my game pause when the Summary is displayed when running in Windowed mode?
* The In-Game Overlay runs as a separate window that takes focus in windowed mode. Make sure your game continues to run normally when losing focus, including frame rate render speeds and sound creation. Dropping framerate or disabling sound on focus loss can break the user’s experience with _NVIDIA Highlights_. In some cases, we’ve seen applications minimize themselves on loss of focus, which will be very confusing to a user.
* Running in a separate window requires Aero support for best rendering performance. Desktop and window render rates will drop for any In-Game Overlay elements, including slider notifications for _NVIDIA Highlights_ captures. This isn’t a major problem when the overlay or Summary dialog is displayed since they have the user’s attention, but can be distracting for framerate drops during game action from a Highlight capture notification. If your game supports non-Aero mode, you can limit the poor experience during gameplay by using the silent Highlight type, or ask the user to disable notifications in In-Game Overlay->Settings->Notifications.
|