Skip to content

Commit

Permalink
Merge pull request #12 from DolbyIO/doc-fixes
Browse files Browse the repository at this point in the history
Updated the Readme file
  • Loading branch information
mhelf-dolby committed Oct 27, 2022
2 parents 5f6afd1 + 23389ef commit 5fe26c1
Showing 1 changed file with 15 additions and 12 deletions.
27 changes: 15 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
# Dolby.io Communications plugin for Unreal Engine
# Dolby.io Communications plugin for Unreal
Plugin integrating [Dolby.io Communications C++ SDK](https://github.com/DolbyIO/comms-sdk-cpp) with the Unreal Engine.
- Tested with Unreal Engine 4.27.2 and 5.0.3.
- Tested on Windows 10 and macOS 12.
- If on macOS, it is recommended to follow the [advice](#macos) below.

## Supported environments
- Unreal Engine 4.27.2 and 5.0.3
- Windows 10 and macOS 12

Note: If you want to use the plugin on macOS, see our [advice](#macos).

## Prerequisites
- [Dolby.io](https://dolby.io) account - if you do not have an account, you can [sign up](https://dolby.io/signup) for free.
Expand All @@ -13,17 +16,17 @@ Plugin integrating [Dolby.io Communications C++ SDK](https://github.com/DolbyIO/
*The location above does not yet work as there is no CI for this project yet. Use the build from [Box](https://dolby.box.com/s/dp6seu7ezine09my1tgmlc21k4w7pmmc)*.
2. Copy the plugin to {UnrealEngineRoot}/Engine/Plugins, so that you have a folder such as C:\Epic Games\UE_4.27\Engine\Plugins\DolbyIO.
*Alternatively, copy the plugin to {YourGameRoot}/Plugins.*
3. Launch your game project (create a game using the First Person template if you're starting out from scratch).
3. Launch your game project. If you are starting out from scratch, create a game using the First Person template.
4. Enable the plugin.
5. Place the DolbyIoSampleConferenceBP object in the scene.
6. Launch the game.
7. Press C to open the connection menu.
8. Paste your Dolby.io client access token in the appropriate field.
9. Connect.
10. See [section below](#how) for how the plugin works and how you can use it in practice.
10. See the [section below](#how) for how the plugin works and how you can use it in practice.

## How to use the sample C++ class
1. Follow steps 1-4 from [section above](#usage).
1. Follow steps 1-4 from the [section above](#usage).
2. Place the DolbyIoSampleConference object in the scene.
3. Make sure the object is selected in the World Outliner.
4. Paste your Dolby.io client access token in the appropriate field in the Details window.
Expand All @@ -43,27 +46,27 @@ It is also not difficult to extend plugin functionality by just knowing that:
- ADolbyIoConference is the interface between the Unreal Engine and the SDK
- FSdkAccess is the class where most of the calls to the SDK are made

Therefore, the typical work flow to provide new features is to extend ADolbyIoConference's API and implement the functionality in FSdkAccess.
Therefore, the typical workflow to provide new features is to extend ADolbyIoConference's API and implement the functionality in FSdkAccess.

## Building from source
1. Download [Dolby.io Communications C++ SDK release 2.1.0](https://github.com/DolbyIO/comms-sdk-cpp/releases/tag/2.1.0).
2. Launch your game project (create a game using the First Person C++ template if you're starting out from scratch).
2. Launch your game project. If you are starting out from scratch, create a game using the First Person C++ template.
3. Unzip the Dolby.io Communications C++ SDK release.
4. Copy or link the unzipped sdk-release folder into the DolbyIO/Source/ThirdParty folder.
5. Create folder named "Plugins" in your game's root folder if it does not exist.
5. Create a folder named "Plugins" in your game's root folder if it does not exist.
6. Copy or link the DolbyIO folder into the Plugins folder.
7. Regenerate IDE project files.
7. Close Unreal Editor.
8. Build your game in the Development Editor configuration.
9. Open Unreal Editor.
10. Follow steps 5-10 from [section above](#usage).
10. Follow steps 5-10 from the [section above](#usage).

## <a name="macos"></a> macOS advice
Using the plugin in Unreal Editor requires the Editor to obtain microphone permissions. However, Unreal Editor will never ask for the appropriate permissions, so we need to forcefully provide them to the application. One method to do so is to use [this tool](https://github.com/DocSystem/tccutil):
- Unreal Engine 4: `sudo python tccutil.py -e -id com.epicgames.UE4Editor --microphone`
- Unreal Engine 5: `sudo python tccutil.py -e -id com.epicgames.UnrealEditor --microphone`

Please be aware that this tool is not endorsed by Dolby in any way and may be dangerous as it needs root permissions to access sensitive system files and requires you to grant full disk access to the terminal. If you do not wish to use it, you will need to find another way to provide microphone permissions to the Unreal Editor, otherwise you will need to package the game to use the plugin and you will be unable to test it in the Editor. In order to package games using the plugin with the data required to request microphone permissions, you will also need to add these lines:
Please be aware that this tool is not endorsed by Dolby in any way and may be dangerous as it needs root permissions to access sensitive system files and requires you to grant full disk access to the terminal. If you do not wish to use it, you will need to find another way to provide microphone permissions to the Unreal Editor, otherwise, you will need to package the game to use the plugin and you will be unable to test it in the Editor. In order to package games using the plugin with the data required to request microphone permissions, you will also need to add these lines:
```
<key>NSMicrophoneUsageDescription</key>
<string>Dolby.io Communications</string>
Expand Down

0 comments on commit 5fe26c1

Please sign in to comment.