ustwo / ReplayKitUnityBridge

A bridge created from iOS to Unity - exposing the Cocoa ReplayKit API. It allows you to record the screen, set a limited time for the screen to be recorded, and receive a file of the recorded session
MIT License
61 stars 10 forks source link
gameplay objective-c replay replaykit unity unity3d-plugin xcode

license

Summary

This is a Unity plugin for iOS that allows you to record the screen and capture gameplay. It includes the Xcode project that it was built in. To start using it, simply drag the PluginSource folder into your Unity project as a sub-folder in the following directory/file path: Assets > Plugins > iOS > ReplayKitUnity > Drag the source and editor folders into here

Blog Post describing the steps to make a bridge: https://medium.com/@SoCohesive/unity-how-to-build-a-bridge-ios-to-unity-with-swift-f23653f6261

Disclaimer:

This plugin is a work in progress and has been built to show the steps of creating a Unity iOS plugin using Swift

Features

Requirements

Getting Started

Communication

Installation

How To Use

  1. Start a screen recording
ReplayKitUnity.StartRecording();
  1. Stop the screen recording
ReplayKitUnity.StopRecording();
  1. Get the video file after recording is complete

    a) Subscribe to the onStopCaptureWithFile action in ReplayKitUnity

    ReplayKitUnity.Instance.onStopCaptureWithFile += OnStopRecording; (connect to your function)

    b) Use the VideoPlayer Unity componnent or any video playback technique to play the .mp4

    1. Get notified when the recording has started
    ReplayKitUnity.Instance.onStartRecording += OnStartRecording; (connect to your function)
  2. Set a constrained time to record gameplahy (ie - only 10 seconds)

ReplayKitUnity.AllowedTimeToRecord = 10.0f;
  1. Set the subject line for sharing the video file via email
    ReplayKitUnity.MailSubjectText = "Check this recording of my game out!";

Contact: