> For the complete documentation index, see [llms.txt](https://docs.ggwp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ggwp.com/ggwp-client-sdk/quickstart-guide/unreal.md).

# Unreal

## Authentication

There are two authentication modes available. Please read about them in detail in the [authentication section](#authentication).

For this guide we will go with the faster & easier auth mode, i.e. static tokens. Please reach out to your account manager to get the tokens.

## Prerequisites

1. Reach out to your GGWP account manager to get the sample app
2. Install Unreal Engine 5.1 and Visual Studio 2019

## Vivox

1. Replace the credentials in the file `Plugins/voice_chat_bindings/Source/voice_chat_bindings/Private/ggwp_credentials.h`
2. Open voice\_test in Unreal Editor and compile code
3. Run the app and be toxic!
4. Log into the GGWP Dashboard and check the voice incidents

## Epic Online Services (EOS)

1. Replace the credentials in the file `Source/EOS_tutorial/ggwp_credentials.h`
2. Fill in your application details under `/Script/OnlineSubsystemEOS.EOSSettings/Artifacts` in the file `Config/DefaultEngine.ini`.
3. Open EOS\_Tutorial in Unreal Editor and compile code
4. Decompress and launch DevAuthTool from /Tools
5. Sign in two users, make sure to log one in as GGWPTEST1 and the other as GGWPTEST2
6. Edit the absolute paths to the project in `./Peer2Peer1.bat` and `./Peer2Peer2.bat` (look for `CHANGEME`)
7. Launch `./Peer2Peer1.bat` and then launch `./Peer2Peer2.bat`. It's important to make sure to launch the second peer only after the first one has fully initialized. If two are launched at once, both instances might create separate lobby instances causing voice to never fully initialize as each will be in it's own one person lobby. Once the lobby is created on the EOS servers, it will linger for a while making the issue less prone to occur on future launches
8. Be toxic in the Peer2Peer1 game!
9. Log into the GGWP Dashboard and check the voice incidents

## Discord

1. Replace the credentials in the file `Plugins/voice_chat_bindings/Source/voice_chat_bindings/Private/ggwp_credentials.h`
2. Open voice\_test in Unreal Editor and compile code
3. Run the app
4. Look for browser window that opens and displays the Discord account connection approval.  Scroll down and click on Authorize
5. Once the game is running and Discord is initialized, be toxic!
6. Log into the GGWP Dashboard and check the voice incidents

*Note - during low volume testing, voice incidents may take a minute longer to appear in the GGWP Dashboard due to batch processing in our backend service.*
