The Everyplay service enables your users to record Let's Play videos right from your game.
So I thought over the weekend I would try integrating it into a little something I've been working on (instead of refactoring the enemy controllers like I said I would 😇).
These are the 5 biggest tips I would recommend to anyone else doing the same.
Integration is Easy!
I'm using Unity 3D, and the integration is dead easy! Simply install the SDK and configure an application in the Everyplay developer website. You can simply turn on Enable test buttons and the plugin will render a simple UI to allow testing. For me this worked out of the box with no problem. My particular project also includes the Unity Analytics and Unity Ads plugins, but everything just worked!
Tip 1 - Offer more that just tilt controls for movement
This particular game uses the device tilt to move and screen tap to fire. I quickly discovered that tilting the device makes the player in the face cam look..erm..extremely active!
I added some more touch controls for movement
Tip 2 - Spend some time on your UI
The Everyplay service offers a few options for users, and while the SDK is easy to implement, you'll need to take some time thinking about the best way to present all the options in your UI.
There are options before the the start of play (watch replays, choose commentary type) and after play (share replay, edit replay). In game there is flexibility to allow users to stop, pause and restart recording and commentary.
In practice you probably don't want to offer too much so you don't confuse players or overwhelm them with UI options.
Tip 3 - Render the face cam to a texture
While you can tell the SDK the size and position that you want the default preview rendered, you are better of using the render to texture option so you can use the canvas UI to position and scale in a device independent way.
You could also then easily allow the player to tap and drag the preview to the best position for them.
Tip 4 - Don't force the landscape direction
If your game needs landscape mode, allow the player to choose left or right mode. If your touch controls are close to the camera then you will probably just film the players hands and figures!
If you force a direction you may find your touch controls too close to the camera.
Tip 5 - Face cam rotation bug?
I don't know if this is a problem just with Android or just my phone. If you have the face cam enabled and then rotate the device, the camera stays rendering with the previous orientation leaving the player upside down!
I found that manually turning the face cam session off then on fixed it. You could add a UI element to allow the player to manually turn off and on the camera.
Alternatively (untested) you could detect the device rotation to trigger an automatic stop-start of the face cam session. This would probably leave a small jitter in the commentary recording.
Basically from my 1 day of mucking around I found integrating the SDK was quite simple programatically, the biggest hurdle is really just figuring out how you are going to present the Everyplay options to your players.
The documentation still says the face camera is only supported on iOS, but you can just assume it works the same on Android