ExitPoll allows you to directly ask questions to your users. This only requires a few blueprints and some options on your Cognitive3D dashboard. This page will walk you through the process of enabling and configuring an ExitPoll in your application.
This page assumes you are somewhat familiar with Unreal's Blueprints. Implementing ExitPoll is fairly simple, but customization assumes you are familiar with a few topics:
Creating an Exit Poll¶
Exit Poll Hooks and Question Sets are created on the Cognitive3D Dashboard. A Hook is requested from the application during the experience and receive a Question Set as a response. This allows you to use change which Question Set to display from a Hook without updating your application.
The example here will display a Question Set about performance at the end of the level.
Press the New Question Set button.
Add your questions. Each question will be displayed as a panel one at a time.
Select Create Question Set. Then select Manage Hooks.
Select New Hook to open the popup.
Assign your Question Set and version for the Hook.
You can display your ExitPoll survey using these blueprint nodes. For simplicity, you can paste the text here(link) into your level blueprint.
- Connect the left white execution wire to the output pin of any event to display the ExitPoll survey
- Connect the magenta string wire to a variable with your Hook, or set the Hook directly on the Get Question Set Node
- Optionally, you can execute blueprints after the ExitPoll has been completed by connecting the right white execution wire to more blueprint nodes. You can also safely Destroy the ExitPoll Actor here
To interact with a panel, you must have a Widget Interaction component somewhere on your player. This could be attached to the player's camera or attached to a motion controller. This will draw a line forward to interact with the ExitPoll buttons.
If you wish to use a Voice Panel to record a user's feedback, you will have to add the following lines to DefaultEngine.ini found in the project's config folder
[OnlineSubsystem] DefaultPlatformService=Null bHasVoiceEnabled=true [Voice] bEnabled=true
That's it! When you run your game, you should see your ExitPoll appear.
To customize how the ExitPoll panels are displayed and function, first enable Show Plugin Content from the Content Browser View Options.
It can also be convenient to show the sources panel in the Content Browser. This is the small Heirarchy button next to filters.
Select the Cognitive3D Content folder. This contains all the blueprints and panels for displaying ExitPoll.
Each ExitPoll panel is built with a UMG Widget and an Actor.
The UMG Widget contains the text and buttons used to display and answer a question.
In the Details panel, you can set the Normal Image and Hover Image on a Gaze Button. This allows you to easily change the textures used on each panel's buttons without creating new widgets.
Nearly any changes to ExitPoll panels should be fine, but here are a few things to keep in mind:
- Title, Question and each Gaze Button are set dynamically in the Panel Actor blueprint. Removing or renaming these could require additional work to make the panel display correctly
- The Scale Panel assumes each Gaze Button is a child of a Horizontal Box
- The Multiple Choice Panel assumes each Gaze Button is a child of a Vertical Box
Gaze Buttons use the Widget Interaction component for input. The functionality for the buttons can be modified in the Graph editing mode.
The variable Gaze Duration changes the duration the button must be gazed at before it activates.
Each Panel Actor includes a Tick event to update its position and rotation. By default, a panel will rotate and move to stay 400 centimetres in front of the player. This macro can be found in the CommonVRAnalytics blueprint class.
To change the distance the Panel is displayed at, adjust the Preferred Distance variable found in the ExitPoll actor blueprint.