├── Documentation~ ├── Images │ ├── Icon_ │ ├── Label-1.png │ ├── Label-2.png │ ├── Label-3.png │ ├── Label-4.png │ ├── Label-5.png │ ├── Label-6.png │ ├── Label-7.png │ ├── Label-8.png │ ├── Label-9.png │ ├── Label-A.png │ ├── Label-B.png │ ├── Label-C.png │ ├── Label-D.png │ ├── Label-E.png │ ├── Label-F.png │ ├── Label-G.png │ ├── Label-H.png │ ├── Label-I.png │ ├── Label-J.png │ ├── Label-K.png │ ├── Label-L.png │ ├── Label-M.png │ ├── Label-N.png │ ├── Label-O.png │ ├── Label-P.png │ ├── Label-Q.png │ ├── Label-R.png │ ├── Label-S.png │ ├── Label-T.png │ ├── Label-U.png │ ├── Label-V.png │ ├── Label-W.png │ ├── Label-X.png │ ├── Label-Y.png │ ├── Label-Z.png │ ├── BtnRecord.png │ ├── Label-10.png │ ├── Label-11.png │ ├── Label-12.png │ ├── Label-13.png │ ├── Label-14.png │ ├── Label-15.png │ ├── Label-16.png │ ├── Label-17.png │ ├── Label-18.png │ ├── Label-19.png │ ├── Label-20.png │ ├── IconPreset.png │ ├── RecorderClip.png │ ├── RecorderGIF.png │ ├── RecorderList.png │ ├── RecorderAudio.png │ ├── RecorderImage.png │ ├── RecorderMovie.png │ ├── RecorderReveal.png │ ├── RecorderSplash.png │ ├── RecorderWindow.png │ ├── RecorderAnimation.png │ ├── RecordingControls.png │ ├── CaptureOptions360View.png │ ├── CaptureOptionsGameView.png │ ├── OutputFileProperties.png │ ├── TimelineRecorderTrack.png │ ├── CaptureOptionsTargetedCamera.png │ ├── CaptureOptionsTextureSampling.png │ └── CaptureOptionsRenderTextureAsset.png ├── InclCaptureOptionsRenderTextureAsset.md ├── TableOfContents.md ├── RecorderAudio.md ├── KnownIssues.md ├── InclCaptureOptionsTextureSampling.md ├── InclCaptureOptionsGameView.md ├── InclCaptureOptions360View.md ├── RecorderProperties.md ├── RecorderDebugging.md └── RecordingRecorderWindow.md ├── Editor ├── Sources │ ├── Helpers.meta │ ├── AspectRatio.cs.meta │ ├── EditableLabel.cs.meta │ ├── PanelSplitter.cs.meta │ ├── RecorderItem.cs.meta │ ├── RecorderWindow.cs.meta │ ├── VisualListItem.cs.meta │ ├── EnumProperyDrawer.cs.meta │ ├── OutputResolution.cs.meta │ ├── RecorderController.cs.meta │ ├── FrameRateProperyDrawer.cs.meta │ ├── Helpers │ │ ├── PresetHelper.cs.meta │ │ ├── StatusBarHelper.cs.meta │ │ ├── UIElementHelper.cs.meta │ │ ├── EnumHelper.cs.meta │ │ ├── UnityHelpers.cs.meta │ │ ├── SerializableObjHelper.cs.meta │ │ ├── SerializableObjHelper.cs │ │ └── EnumHelper.cs │ ├── InputSettingsSelector.cs.meta │ ├── RecordModePropertyDrawer.cs.meta │ ├── Resources │ │ ├── popout_icon.png │ │ ├── d_popout_icon.png │ │ ├── recorder_icon.png │ │ ├── customrecorder_16.png │ │ ├── d_customrecorder_16.png │ │ ├── vertical_gradient.png │ │ ├── Styles.meta │ │ └── Styles │ │ │ ├── recorder.uss.meta │ │ │ ├── recorder_darkSkin.uss.meta │ │ │ ├── recorder_lightSkin.uss.meta │ │ │ ├── recorder_darkSkin.uss │ │ │ └── recorder_lightSkin.uss │ ├── TargetedPropertyDrawer.cs.meta │ ├── AspectRatioPropertyDrawer.cs.meta │ ├── InputSettingsSelectorDrawer.cs.meta │ ├── RecorderControllerSettings.cs.meta │ ├── RecorderSettingsPrefsEditor.cs.meta │ ├── OutputResolutionPropertyDrawer.cs.meta │ ├── RecorderControllerSettingsPresetEditor.cs.meta │ ├── Recorders │ │ ├── AudioRecorder │ │ │ ├── AudioRecorderEditor.cs.meta │ │ │ ├── AudioRecorderSettings.cs.meta │ │ │ ├── AudioRecorder.cs.meta │ │ │ ├── AudioRecorderEditor.cs │ │ │ └── AudioRecorderSettings.cs │ │ ├── AnimationRecorder │ │ │ ├── AnimationRecorder.cs.meta │ │ │ ├── AnimationRecorderSettings.cs.meta │ │ │ ├── AnimationRecorderSettingsEditor.cs.meta │ │ │ ├── Resources │ │ │ │ └── animation_recorder.png │ │ │ ├── Resources.meta │ │ │ └── AnimationRecorderSettingsEditor.cs │ │ ├── MovieRecorder │ │ │ ├── Resources │ │ │ │ ├── d_movie_16.png │ │ │ │ └── movie_16.png │ │ │ ├── Resources.meta │ │ │ ├── MovieRecorder.cs.meta │ │ │ ├── MovieRecorderEditor.cs.meta │ │ │ └── MovieRecorderSettings.cs.meta │ │ ├── ImageRecorder │ │ │ ├── Resources │ │ │ │ ├── imagesequence_16.png │ │ │ │ └── d_imagesequence_16.png │ │ │ ├── Resources.meta │ │ │ ├── ImageRecorder.cs.meta │ │ │ ├── ImageRecorderEditor.cs.meta │ │ │ └── ImageRecorderSettings.cs.meta │ │ ├── _Legacy │ │ │ ├── FrameCapturer │ │ │ │ ├── Plugins │ │ │ │ │ ├── x86 │ │ │ │ │ │ └── fccore.dll │ │ │ │ │ ├── x86_64 │ │ │ │ │ │ ├── fccore.dll │ │ │ │ │ │ ├── Linux │ │ │ │ │ │ │ ├── libfccore.so │ │ │ │ │ │ │ └── libfccore.so.meta │ │ │ │ │ │ ├── fccore.bundle │ │ │ │ │ │ │ ├── Contents │ │ │ │ │ │ │ │ ├── MacOS │ │ │ │ │ │ │ │ │ ├── fccore │ │ │ │ │ │ │ │ │ └── fccore.meta │ │ │ │ │ │ │ │ ├── Info.plist.meta │ │ │ │ │ │ │ │ ├── MacOS.meta │ │ │ │ │ │ │ │ └── Info.plist │ │ │ │ │ │ │ └── Contents.meta │ │ │ │ │ │ └── Linux.meta │ │ │ │ │ ├── x86.meta │ │ │ │ │ └── x86_64.meta │ │ │ │ ├── Plugins.meta │ │ │ │ ├── Scripts.meta │ │ │ │ └── Scripts │ │ │ │ │ ├── Misc.meta │ │ │ │ │ ├── Encoder.meta │ │ │ │ │ ├── Misc │ │ │ │ │ ├── Bool.cs.meta │ │ │ │ │ ├── BoolDrawer.cs.meta │ │ │ │ │ ├── DataPath.cs.meta │ │ │ │ │ ├── DataPathDrawer.cs.meta │ │ │ │ │ ├── Bool.cs │ │ │ │ │ └── BoolDrawer.cs │ │ │ │ │ └── Encoder │ │ │ │ │ ├── fcAPI.cs.meta │ │ │ │ │ ├── EXREncoder.cs.meta │ │ │ │ │ ├── EncoderBase.cs.meta │ │ │ │ │ ├── GIFEncoder.cs.meta │ │ │ │ │ ├── MP4Encoder.cs.meta │ │ │ │ │ ├── MovieEncoder.cs.meta │ │ │ │ │ ├── PNGEncoder.cs.meta │ │ │ │ │ ├── WEBMEncoder.cs.meta │ │ │ │ │ ├── EncoderBase.cs │ │ │ │ │ ├── GIFEncoder.cs │ │ │ │ │ ├── MP4Encoder.cs │ │ │ │ │ ├── PNGEncoder.cs │ │ │ │ │ └── EXREncoder.cs │ │ │ ├── EXR.meta │ │ │ ├── MP4.meta │ │ │ ├── PNG.meta │ │ │ ├── WEBM.meta │ │ │ ├── FrameCapturer.meta │ │ │ ├── EXR │ │ │ │ ├── EXRRecorder.cs.meta │ │ │ │ ├── EXRRecorderSettings.cs.meta │ │ │ │ ├── EXRRecorderSettingsEditor.cs.meta │ │ │ │ ├── EXRRecorderSettingsEditor.cs │ │ │ │ ├── EXRRecorderSettings.cs │ │ │ │ └── EXRRecorder.cs │ │ │ ├── MP4 │ │ │ │ ├── MP4Recorder.cs.meta │ │ │ │ ├── MP4RecorderSettings.cs.meta │ │ │ │ ├── MP4RecorderSettingsEditor.cs.meta │ │ │ │ ├── MP4RecorderSettings.cs │ │ │ │ └── MP4RecorderSettingsEditor.cs │ │ │ ├── PNG │ │ │ │ ├── PNGRecorder.cs.meta │ │ │ │ ├── PNGRecorderSettings.cs.meta │ │ │ │ ├── PNGRecorderSettingsEditor.cs.meta │ │ │ │ ├── PNGRecorderSettingsEditor.cs │ │ │ │ ├── PNGRecorderSettings.cs │ │ │ │ └── PNGRecorder.cs │ │ │ ├── WEBM │ │ │ │ ├── WEBMRecorder.cs.meta │ │ │ │ ├── WEBMRecorderSettings.cs.meta │ │ │ │ ├── WEBMRecorderSettingsEditor.cs.meta │ │ │ │ └── WEBMRecorderSettings.cs │ │ │ ├── BaseFCRecorderSettings.cs.meta │ │ │ └── BaseFCRecorderSettings.cs │ │ ├── _Inputs.meta │ │ ├── _Legacy.meta │ │ ├── AudioRecorder.meta │ │ ├── GIFRecorder.meta │ │ ├── MovieRecorder.meta │ │ ├── _Inputs │ │ │ ├── Audio.meta │ │ │ ├── Camera.meta │ │ │ ├── Animation.meta │ │ │ ├── Camera360.meta │ │ │ ├── Camera │ │ │ │ ├── Shaders.meta │ │ │ │ ├── Shaders │ │ │ │ │ ├── CopyFB.shader.meta │ │ │ │ │ ├── MakeOpaque.shader.meta │ │ │ │ │ ├── CameraInputCopy.shader.meta │ │ │ │ │ └── MakeOpaque.shader │ │ │ │ ├── CameraInput.cs.meta │ │ │ │ ├── CameraInputSettings.cs.meta │ │ │ │ └── CameraInputSettingsPropertyDrawer.cs.meta │ │ │ ├── RenderTextureSampler.meta │ │ │ ├── RenderTextureSampler │ │ │ │ ├── Shaders.meta │ │ │ │ ├── Shaders │ │ │ │ │ ├── BS4Normalize.shader.meta │ │ │ │ │ ├── BS4Accumulate.shader.meta │ │ │ │ │ ├── BS4SuperShader.shader.meta │ │ │ │ │ └── BS4Accumulate.shader │ │ │ │ ├── RenderTextureSampler.cs.meta │ │ │ │ ├── RenderTextureSamplerSettings.cs.meta │ │ │ │ └── RenderTextureSamplerPropertyDrawer.cs.meta │ │ │ ├── GameView.meta │ │ │ ├── RenderTexture.meta │ │ │ ├── GameViewSize.cs.meta │ │ │ ├── Camera360 │ │ │ │ ├── Camera360Input.cs.meta │ │ │ │ ├── Camera360InputSettings.cs.meta │ │ │ │ └── Camera360InputPropertyDrawer.cs.meta │ │ │ ├── Animation │ │ │ │ ├── AnimationInput.cs.meta │ │ │ │ ├── AnimationInputSettings.cs.meta │ │ │ │ ├── AnimationInputSettingsPropertyDrawer.cs.meta │ │ │ │ └── AnimationInput.cs │ │ │ ├── Audio │ │ │ │ ├── AudioInput.cs.meta │ │ │ │ ├── AudioInputSettings.cs.meta │ │ │ │ ├── AudioInputSettingsPropertyDrawer.cs.meta │ │ │ │ ├── AudioInputSettingsPropertyDrawer.cs │ │ │ │ └── AudioInputSettings.cs │ │ │ ├── GameView │ │ │ │ ├── GameViewInput.cs.meta │ │ │ │ ├── GameViewInputSettings.cs.meta │ │ │ │ ├── GameViewInputPropertyDrawer.cs.meta │ │ │ │ ├── GameViewInputSettings.cs │ │ │ │ └── GameViewInputPropertyDrawer.cs │ │ │ └── RenderTexture │ │ │ │ ├── RenderTextureInput.cs.meta │ │ │ │ ├── RenderTextureInputSettings.cs.meta │ │ │ │ └── RenderTextureInputSettingsPropertyDrawer.cs.meta │ │ ├── AnimationRecorder.meta │ │ ├── ImageRecorder.meta │ │ └── GIFRecorder │ │ │ ├── GIFRecorder.cs.meta │ │ │ ├── GIFRecorderSettings.cs.meta │ │ │ ├── GIFRecorderSettingsEditor.cs.meta │ │ │ └── GIFRecorderSettingsEditor.cs │ ├── Recorders.meta │ ├── Resources.meta │ ├── CameraCapture.cs.meta │ ├── GenericRecorder.cs.meta │ ├── RecorderOptions.cs.meta │ ├── BaseTextureRecorder.cs.meta │ ├── ImageHeightSelector.cs.meta │ ├── ImageInputSelector.cs.meta │ ├── ImageInputSettings.cs.meta │ ├── _FrameRequestComponent.cs.meta │ ├── Recorder.cs.meta │ ├── RecorderControllerSettingsPreset.cs.meta │ ├── SceneHook.cs.meta │ ├── InputSettings.cs.meta │ ├── InternalEnums.cs.meta │ ├── RecorderEditor.cs.meta │ ├── RecorderInput.cs.meta │ ├── RecorderSettings.cs.meta │ ├── RecordingSession.cs.meta │ ├── TextureFlipper.cs.meta │ ├── RecordersInventory.cs.meta │ ├── _RecorderComponent.cs.meta │ ├── BaseRenderTextureInput.cs.meta │ ├── RecorderSettingsAttribute.cs.meta │ ├── OutputPath.cs.meta │ ├── FileNameGenerator.cs.meta │ ├── InputPropertyDrawer.cs │ ├── InputPropertyDrawer.cs.meta │ ├── OutputPathDrawer.cs.meta │ ├── FileNameGeneratorDrawer.cs.meta │ ├── InputSettings.cs │ ├── RecordModePropertyDrawer.cs │ ├── GenericRecorder.cs │ ├── InternalEnums.cs │ ├── TargetedPropertyDrawer.cs │ ├── RecorderInput.cs │ ├── EnumProperyDrawer.cs │ ├── AspectRatio.cs │ ├── FrameRateProperyDrawer.cs │ ├── RecorderSettingsAttribute.cs │ ├── CameraCapture.cs │ ├── OutputResolution.cs │ └── TextureFlipper.cs ├── ProRes.meta ├── Sources.meta ├── Unity.Recorder.Editor.api.meta ├── Encoding.meta ├── Timeline.meta ├── Unity.Recorder.Editor.asmdef.meta ├── ProRes │ ├── ProResPreset.cs.meta │ ├── ProResWrapper.cs.meta │ ├── ProResEncoderPlugin.cs.meta │ └── ProResWrapper.cs ├── Encoding │ ├── MediaEncoder.cs.meta │ └── CoreMediaEncoder.cs.meta ├── Timeline │ ├── RecorderClip.cs.meta │ ├── RecorderTrack.cs.meta │ ├── RecorderClipEditor.cs.meta │ ├── RecorderSelector.cs.meta │ ├── RecorderPlayableBehaviour.cs.meta │ ├── _WaitForEndOfFrameComponent.cs.meta │ ├── RecorderTrack.cs │ └── _WaitForEndOfFrameComponent.cs └── Unity.Recorder.Editor.asmdef ├── Plugins ├── x64 │ ├── ProResToolbox.dll │ ├── ProResWrapper.dll │ ├── ProResToolbox.dll.meta │ └── ProResWrapper.dll.meta ├── macOS │ ├── AVFoundationWrapper.bundle │ └── AVFoundationWrapper.bundle.meta ├── macOS.meta └── x64.meta ├── Runtime ├── RecorderBindings.cs.meta ├── SerializedDictionnary.cs.meta ├── Base │ ├── Unity.Recorder.Base.asmdef │ ├── Unity.Recorder.Base.api.meta │ ├── Unity.Recorder.Base.asmdef.meta │ ├── RefHandle.cs.meta │ ├── Unity.Recorder.Base.api │ └── RefHandle.cs ├── Unity.Recorder.asmdef ├── Unity.Recorder.api.meta ├── Base.meta ├── Unity.Recorder.asmdef.meta ├── Unity.Recorder.api └── SerializedDictionnary.cs ├── Tests ├── Runtime │ ├── BaseFixture.cs.meta │ ├── TimelineDataTests.cs.meta │ ├── AnimationRecorderFixture.cs.meta │ ├── RecordableMonoBehaviour.cs.meta │ ├── AnimationRecorderMonoBehaviour.cs.meta │ ├── Assets.meta │ ├── Unity.Recorder.Tests.asmdef.meta │ ├── Assets │ │ ├── Recorded.anim.meta │ │ └── RecordedMonoBehaviour.playable.meta │ ├── SceneHookTests.cs.meta │ ├── MovieRecorderFixture.cs.meta │ ├── TimelineRecorderTests.cs.meta │ ├── RecorderControllerTests.cs.meta │ ├── Unity.Recorder.Tests.asmdef │ ├── RecordableMonoBehaviour.cs │ ├── SceneHookTests.cs │ ├── TimelineDataTests.cs │ └── RecorderControllerTests.cs ├── Editor │ ├── RecorderWindowFixture.cs.meta │ ├── Unity.Recorder.Editor.Tests.asmdef.meta │ ├── MovieRecorderTests.cs.meta │ ├── RecorderControllerTests.cs.meta │ ├── RecorderSettingsTests.cs.meta │ ├── InputRecorderSettingsTests.cs.meta │ ├── RecorderControllerSettingsTests.cs.meta │ └── Unity.Recorder.Editor.Tests.asmdef ├── Editor.meta └── Runtime.meta ├── Samples~ ├── CaptureScreenShot │ ├── CaptureScreenShotExample.cs.meta │ └── .sample.json ├── Unity.Recorder.Samples.api.meta ├── MultipleRecordings │ ├── .sample.json │ └── MultipleRecordingsExample.cs.meta ├── RecorderEditor.meta ├── CaptureScreenShot.meta ├── MultipleRecordings.meta ├── RecorderEditor │ ├── .sample.json │ ├── Unity.Recorder.Samples.Editor.api.meta │ ├── Unity.Recorder.Samples.Editor.asmdef.meta │ ├── RecorderEditorExample.cs.meta │ ├── Unity.Recorder.Samples.Editor.api │ ├── Unity.Recorder.Samples.Editor.asmdef │ └── RecorderEditorExample.cs ├── Unity.Recorder.Samples.asmdef.meta ├── Unity.Recorder.Samples.asmdef └── Unity.Recorder.Samples.api ├── CHANGELOG.md.meta ├── LICENSE.md.meta ├── README.md.meta ├── package.json.meta ├── Editor.meta ├── Plugins.meta ├── Runtime.meta ├── Tests.meta ├── LICENSE.md ├── README.md └── package.json /Documentation~/Images/Icon_: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Editor/Sources/Helpers.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 195c80e0a88f4aff975d21a4f4bb06fd 3 | timeCreated: 1533583853 -------------------------------------------------------------------------------- /Plugins/x64/ProResToolbox.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Plugins/x64/ProResToolbox.dll -------------------------------------------------------------------------------- /Plugins/x64/ProResWrapper.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Plugins/x64/ProResWrapper.dll -------------------------------------------------------------------------------- /Documentation~/Images/Label-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-1.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-2.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-3.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-4.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-5.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-6.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-7.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-8.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-9.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-A.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-A.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-B.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-B.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-C.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-C.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-D.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-D.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-E.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-E.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-F.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-F.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-G.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-G.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-H.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-H.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-I.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-I.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-J.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-J.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-K.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-K.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-L.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-L.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-M.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-M.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-N.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-N.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-O.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-O.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-P.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-P.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-Q.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-Q.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-R.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-R.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-S.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-S.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-T.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-T.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-U.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-U.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-V.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-V.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-W.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-W.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-X.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-Y.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-Y.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-Z.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-Z.png -------------------------------------------------------------------------------- /Runtime/RecorderBindings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a24bc7e8573847adbdf1198360b3c794 3 | timeCreated: 1523466446 -------------------------------------------------------------------------------- /Documentation~/Images/BtnRecord.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/BtnRecord.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-10.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-11.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-12.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-13.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-14.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-15.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-16.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-17.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-18.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-19.png -------------------------------------------------------------------------------- /Documentation~/Images/Label-20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/Label-20.png -------------------------------------------------------------------------------- /Editor/Sources/AspectRatio.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 16db0b1ebae44fbab4cd92b8b6c61bad 3 | timeCreated: 1534355808 -------------------------------------------------------------------------------- /Editor/Sources/EditableLabel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2bd83f31da5b4435ac97cde1432e7d63 3 | timeCreated: 1521748757 -------------------------------------------------------------------------------- /Editor/Sources/PanelSplitter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6df354de90964eb0b6f67f00337b73d8 3 | timeCreated: 1521737716 -------------------------------------------------------------------------------- /Editor/Sources/RecorderItem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f385fa14c01142e3b09545d102c9496d 3 | timeCreated: 1521755721 -------------------------------------------------------------------------------- /Editor/Sources/RecorderWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7c66a740a74845a08dc18bab7f2ffa03 3 | timeCreated: 1519683108 -------------------------------------------------------------------------------- /Editor/Sources/VisualListItem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 72aed44f050841cd8c96c42fb0245008 3 | timeCreated: 1523981808 -------------------------------------------------------------------------------- /Runtime/SerializedDictionnary.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fc6c3a8035cb4c8e9e7ebe4c44e8853a 3 | timeCreated: 1523466743 -------------------------------------------------------------------------------- /Tests/Runtime/BaseFixture.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2991fec8742d42c8adb0b1def9b0f6cb 3 | timeCreated: 1594217254 -------------------------------------------------------------------------------- /Documentation~/Images/IconPreset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/IconPreset.png -------------------------------------------------------------------------------- /Documentation~/Images/RecorderClip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/RecorderClip.png -------------------------------------------------------------------------------- /Documentation~/Images/RecorderGIF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/RecorderGIF.png -------------------------------------------------------------------------------- /Documentation~/Images/RecorderList.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/RecorderList.png -------------------------------------------------------------------------------- /Editor/Sources/EnumProperyDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d27b31dc27841cc9fa370de2f754b58 3 | timeCreated: 1521133084 -------------------------------------------------------------------------------- /Editor/Sources/OutputResolution.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6578621dde5e4659927f1f4eaf1b315c 3 | timeCreated: 1533917207 -------------------------------------------------------------------------------- /Editor/Sources/RecorderController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8c2a8241711244cd8e9a9eff1b6f95fe 3 | timeCreated: 1525715492 -------------------------------------------------------------------------------- /Tests/Editor/RecorderWindowFixture.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 417abbb9d9a44cc4a9c5d01b5d1b0846 3 | timeCreated: 1601410225 -------------------------------------------------------------------------------- /Tests/Runtime/TimelineDataTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ce6ba0f2670440688ce3737de7fe827e 3 | timeCreated: 1594217345 -------------------------------------------------------------------------------- /Documentation~/Images/RecorderAudio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/RecorderAudio.png -------------------------------------------------------------------------------- /Documentation~/Images/RecorderImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/RecorderImage.png -------------------------------------------------------------------------------- /Documentation~/Images/RecorderMovie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/RecorderMovie.png -------------------------------------------------------------------------------- /Documentation~/Images/RecorderReveal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/RecorderReveal.png -------------------------------------------------------------------------------- /Documentation~/Images/RecorderSplash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/RecorderSplash.png -------------------------------------------------------------------------------- /Documentation~/Images/RecorderWindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/RecorderWindow.png -------------------------------------------------------------------------------- /Editor/Sources/FrameRateProperyDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f12f632d73764658935f8dc2e01f48b6 3 | timeCreated: 1521133105 -------------------------------------------------------------------------------- /Editor/Sources/Helpers/PresetHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cae30da739b542daa7e96ab3f70fb006 3 | timeCreated: 1533583821 -------------------------------------------------------------------------------- /Editor/Sources/Helpers/StatusBarHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 464423cf3df84d8bbe4598e76cb43f6e 3 | timeCreated: 1533590351 -------------------------------------------------------------------------------- /Editor/Sources/InputSettingsSelector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b779014d9c6a48199ddf81280a58c216 3 | timeCreated: 1522784287 -------------------------------------------------------------------------------- /Editor/Sources/RecordModePropertyDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f1b5616245464783858c3c5fd95d16b1 3 | timeCreated: 1535396020 -------------------------------------------------------------------------------- /Editor/Sources/Resources/popout_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Editor/Sources/Resources/popout_icon.png -------------------------------------------------------------------------------- /Editor/Sources/TargetedPropertyDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b2238b0d8b83469ba64148039293eed3 3 | timeCreated: 1523053639 -------------------------------------------------------------------------------- /Plugins/macOS/AVFoundationWrapper.bundle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Plugins/macOS/AVFoundationWrapper.bundle -------------------------------------------------------------------------------- /Tests/Runtime/AnimationRecorderFixture.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5fbad5f223ae42ef8cb54ed014e54ab5 3 | timeCreated: 1594217720 -------------------------------------------------------------------------------- /Tests/Runtime/RecordableMonoBehaviour.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c50d1b6eaf79490aa3ec52ab7f3ea7b7 3 | timeCreated: 1599587564 -------------------------------------------------------------------------------- /Documentation~/Images/RecorderAnimation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/RecorderAnimation.png -------------------------------------------------------------------------------- /Documentation~/Images/RecordingControls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/RecordingControls.png -------------------------------------------------------------------------------- /Editor/Sources/AspectRatioPropertyDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 25f3f42b06194f9baf10fc2cb14d397e 3 | timeCreated: 1534355840 -------------------------------------------------------------------------------- /Editor/Sources/InputSettingsSelectorDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 33760b2112924a708eb6ae28468a3d62 3 | timeCreated: 1522776014 -------------------------------------------------------------------------------- /Editor/Sources/RecorderControllerSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a0888db1d9f84d6da3b0d5de41f42c2d 3 | timeCreated: 1523027859 -------------------------------------------------------------------------------- /Editor/Sources/RecorderSettingsPrefsEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 353e2768e273425dbca885d53f6f1c36 3 | timeCreated: 1521133150 -------------------------------------------------------------------------------- /Editor/Sources/Resources/d_popout_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Editor/Sources/Resources/d_popout_icon.png -------------------------------------------------------------------------------- /Editor/Sources/Resources/recorder_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Editor/Sources/Resources/recorder_icon.png -------------------------------------------------------------------------------- /Tests/Runtime/AnimationRecorderMonoBehaviour.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0daeed097e094585b4746be14272c8b0 3 | timeCreated: 1600086184 -------------------------------------------------------------------------------- /Editor/Sources/OutputResolutionPropertyDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 348f4b8d36e2476395e48ec521dd65d1 3 | timeCreated: 1533917240 -------------------------------------------------------------------------------- /Documentation~/Images/CaptureOptions360View.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/CaptureOptions360View.png -------------------------------------------------------------------------------- /Documentation~/Images/CaptureOptionsGameView.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/CaptureOptionsGameView.png -------------------------------------------------------------------------------- /Documentation~/Images/OutputFileProperties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/OutputFileProperties.png -------------------------------------------------------------------------------- /Documentation~/Images/TimelineRecorderTrack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/TimelineRecorderTrack.png -------------------------------------------------------------------------------- /Editor/Sources/RecorderControllerSettingsPresetEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 307d31ebf2384b01bb70259435918b92 3 | timeCreated: 1522872866 -------------------------------------------------------------------------------- /Editor/Sources/Resources/customrecorder_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Editor/Sources/Resources/customrecorder_16.png -------------------------------------------------------------------------------- /Editor/Sources/Resources/d_customrecorder_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Editor/Sources/Resources/d_customrecorder_16.png -------------------------------------------------------------------------------- /Editor/Sources/Resources/vertical_gradient.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Editor/Sources/Resources/vertical_gradient.png -------------------------------------------------------------------------------- /Samples~/CaptureScreenShot/CaptureScreenShotExample.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 213789ffcc58477baa8cd52302046e75 3 | timeCreated: 1537297705 -------------------------------------------------------------------------------- /Editor/Sources/Recorders/AudioRecorder/AudioRecorderEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: da5cc1aa206046778abe29c0c0c90d54 3 | timeCreated: 1539867096 -------------------------------------------------------------------------------- /Editor/Sources/Recorders/AnimationRecorder/AnimationRecorder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0808b4ae0e5a40bc818e43f28ebe29e2 3 | timeCreated: 1503926464 -------------------------------------------------------------------------------- /Editor/Sources/Recorders/AudioRecorder/AudioRecorderSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 21bf883917114fbf86b41182323db352 3 | timeCreated: 1539866931 -------------------------------------------------------------------------------- /Documentation~/Images/CaptureOptionsTargetedCamera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/CaptureOptionsTargetedCamera.png -------------------------------------------------------------------------------- /Documentation~/Images/CaptureOptionsTextureSampling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/CaptureOptionsTextureSampling.png -------------------------------------------------------------------------------- /Editor/Sources/Recorders/AnimationRecorder/AnimationRecorderSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a9f55b158f7c43688c1c21ce05ac46ba 3 | timeCreated: 1503926485 -------------------------------------------------------------------------------- /Documentation~/Images/CaptureOptionsRenderTextureAsset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Documentation~/Images/CaptureOptionsRenderTextureAsset.png -------------------------------------------------------------------------------- /Editor/Sources/Recorders/AnimationRecorder/AnimationRecorderSettingsEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b5f9edca0e76485d8490267712eb006c 3 | timeCreated: 1503942663 -------------------------------------------------------------------------------- /Editor/Sources/Recorders/MovieRecorder/Resources/d_movie_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Editor/Sources/Recorders/MovieRecorder/Resources/d_movie_16.png -------------------------------------------------------------------------------- /Editor/Sources/Recorders/MovieRecorder/Resources/movie_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Editor/Sources/Recorders/MovieRecorder/Resources/movie_16.png -------------------------------------------------------------------------------- /Runtime/Base/Unity.Recorder.Base.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Unity.Recorder.Base", 3 | "references": [], 4 | "includePlatforms": [], 5 | "excludePlatforms": [] 6 | } 7 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/ImageRecorder/Resources/imagesequence_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Editor/Sources/Recorders/ImageRecorder/Resources/imagesequence_16.png -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Plugins/x86/fccore.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Editor/Sources/Recorders/_Legacy/FrameCapturer/Plugins/x86/fccore.dll -------------------------------------------------------------------------------- /Runtime/Unity.Recorder.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Unity.Recorder", 3 | "references": [ 4 | "Unity.Timeline" 5 | ], 6 | "includePlatforms": [], 7 | "excludePlatforms": [] 8 | } 9 | -------------------------------------------------------------------------------- /CHANGELOG.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bddc957f6fc080144bc6ee0c40355251 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/ImageRecorder/Resources/d_imagesequence_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Editor/Sources/Recorders/ImageRecorder/Resources/d_imagesequence_16.png -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Plugins/x86_64/fccore.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Editor/Sources/Recorders/_Legacy/FrameCapturer/Plugins/x86_64/fccore.dll -------------------------------------------------------------------------------- /LICENSE.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8199d32e6bec98e45ae1e2ed4167c267 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b525cde66ecba8f4db223fda3deeb8fe 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 85148e7c451fe2c49a95da1805155d6b 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/AnimationRecorder/Resources/animation_recorder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Editor/Sources/Recorders/AnimationRecorder/Resources/animation_recorder.png -------------------------------------------------------------------------------- /Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 10c61a46c5f85e1438218174056c0382 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Plugins/x86_64/Linux/libfccore.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Editor/Sources/Recorders/_Legacy/FrameCapturer/Plugins/x86_64/Linux/libfccore.so -------------------------------------------------------------------------------- /Plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4db884a9e7f21294db0cb9409806c549 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a8e14f8e28927a942b7bdd72f1c0ea8e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Unity.Recorder.api.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 428b801a7dffc63478778d1e864cb2b1 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Tests.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2843f93269e34624fb1954e7dfdcaf90 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/ProRes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 30367e3cf22ff0c4489cf8fa4949b1f0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Sources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f6b67cb5dd838ac4fbd07f048a0235af 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Unity.Recorder.Editor.api.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8af856e55aba3a842bb65372ce3b86ce 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Plugins/macOS.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 53dc48d13203e3344bd3cc5baf3913e9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Plugins/x64.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cf2afc31a5d390947b0267f9b07c27fc 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Base.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: db284c900559dbf4f8828277b67c6fb0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples~/CaptureScreenShot/.sample.json: -------------------------------------------------------------------------------- 1 | { 2 | "displayName":"Screenshot Capture Sample", 3 | "description": "This example shows how to setup a recording session via script.", 4 | "createSeparatePackage": false 5 | } -------------------------------------------------------------------------------- /Samples~/Unity.Recorder.Samples.api.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 17efb82ca046c004f995340f68710715 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Tests/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4932ef6c886ece54db8440345ed1c655 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Tests/Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e2c156f0a6328a440b1e4affc559ae89 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Encoding.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0f67acff9e99c834bbe179b2177c0182 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Timeline.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 885a9dcb3d2df3d4e804487e0424b277 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Base/Unity.Recorder.Base.api.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ad280bc61d5f41f44a0b91cb3364ca2e 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime/Unity.Recorder.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 832a8ef6e615e9a41a5076e1c9a43782 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5b094dcf452f1604da1030bc50f96cf6 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Sources/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4403057bc5ab8ac4e9ae80155a3c92fd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples~/MultipleRecordings/.sample.json: -------------------------------------------------------------------------------- 1 | { 2 | "displayName":"Multiple Recordings Sample", 3 | "description": "This example shows how to setup a multiple recording session via script.", 4 | "createSeparatePackage": false 5 | } -------------------------------------------------------------------------------- /Samples~/RecorderEditor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 34a660501f66144aaa3867e1d08a0bfd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Tests/Runtime/Assets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c7c0d04e1c484c16ac0702ed6d6a760 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Unity.Recorder.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 847b179520b009e4c8d15c296b1cbf35 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime/Base/Unity.Recorder.Base.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d87af21afaaf27f45b873a9ab462bcbb 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Samples~/CaptureScreenShot.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f86ebf0c5a69145e298d3c87b6750d28 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples~/MultipleRecordings.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f041eb976312b42ada2e0725f0fb8402 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples~/RecorderEditor/.sample.json: -------------------------------------------------------------------------------- 1 | { 2 | "displayName":"Recorder Editor Sample", 3 | "description": "This example shows how to add \"Start Recording\" and \"Stop Recording\" menu items .", 4 | "createSeparatePackage": false 5 | } -------------------------------------------------------------------------------- /Samples~/Unity.Recorder.Samples.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 23130678a8f49844c959f891f4ed88b6 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 735c70ee605a363489603a301ccf9001 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 929eb00022f1636468a7444a3795ce85 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Sources/Resources/Styles.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0148fe9343f938459039691719fee0f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Tests/Runtime/Unity.Recorder.Tests.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 449fc23b7677f77469eeb6aad1156d57 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/AudioRecorder.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 668c8c22f8ca3594f82504ce3e8917cf 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/GIFRecorder.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6da78ae6f9d77af439627f61c6649706 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/MovieRecorder.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9e35a253b90b7244cb70d21db885fee8 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Audio.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6d80688849564584188eda136c5243b6 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Camera.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 72d53ddfa043c4442ae634e6b6486032 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples~/RecorderEditor/Unity.Recorder.Samples.Editor.api.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4e475b1b29b20fa47a1086517f1d3880 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Tests/Editor/Unity.Recorder.Editor.Tests.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a27d0287cdf07a84099eacb227e73f6b 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/AnimationRecorder.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 118aaf48522942c3953f714a6739285e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Animation.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bce584456d820498b8cc7bd0ff6fdd25 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Camera360.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 26b884e8bf1552d49b39fd7c9298b0ac 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Plugins/x86_64/fccore.bundle/Contents/MacOS/fccore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pontoco/UnityRecorder/HEAD/Editor/Sources/Recorders/_Legacy/FrameCapturer/Plugins/x86_64/fccore.bundle/Contents/MacOS/fccore -------------------------------------------------------------------------------- /Tests/Runtime/Assets/Recorded.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 229a71e9bb30a4c698902d22722765d7 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/ImageRecorder/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3373a3c72159f5d4da58d7a712031027 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/MovieRecorder/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b96abf6168bd414d9786231347ac89a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/AnimationRecorder/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 062f3ffcab88dd64b9a59a7bf2f96c8c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples~/RecorderEditor/Unity.Recorder.Samples.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 907de94a4067740b5ae1f56484343966 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/EXR.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d95f112dcf873464e8d57e91c7e23e4e 3 | folderAsset: yes 4 | timeCreated: 1494189538 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Plugins/x86_64/Linux.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 837796ba76e21119f95433759abd2c15 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/MP4.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8407d226afd36044fb3531b73342f6ab 3 | folderAsset: yes 4 | timeCreated: 1494189538 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Tests/Runtime/Assets/RecordedMonoBehaviour.playable.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 66bbb025352104a21b6b27b03c83bd50 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/ImageRecorder.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ffa0df4e3b31c8c4a9e2facb63af80ee 3 | folderAsset: yes 4 | timeCreated: 1494348128 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/PNG.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 493b3fbd7e438374c8f4f23d25ebf2a1 3 | folderAsset: yes 4 | timeCreated: 1491417213 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/WEBM.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5b7ce254a486bc84fbe5c25016270005 3 | folderAsset: yes 4 | timeCreated: 1494189538 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Camera/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4bd7f4201fbd4c84d96b0479c6f986fa 3 | folderAsset: yes 4 | timeCreated: 1495745594 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 522bab85d8eab374194107c6d00ba0e5 3 | folderAsset: yes 4 | timeCreated: 1432793486 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/RenderTextureSampler.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f9bf5f2835771fd4d8f203a4f0e76e96 3 | folderAsset: yes 4 | timeCreated: 1494516827 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 178d677034729554ba412d8026f03471 3 | folderAsset: yes 4 | timeCreated: 1432793503 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2eb1eb6bf0605b8469d2d383642f1fe4 3 | folderAsset: yes 4 | timeCreated: 1432793494 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/RenderTextureSampler/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6d4cea4a62f94b949b7c8eded57c2ccc 3 | folderAsset: yes 4 | timeCreated: 1495745576 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Plugins/x86.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b6a99610875e99f4a86c25c0d98826fb 3 | folderAsset: yes 4 | timeCreated: 1433034131 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts/Misc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 324c02e09f53928429e39bbbd971fa1c 3 | folderAsset: yes 4 | timeCreated: 1457073395 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Camera/Shaders/CopyFB.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0a97d971fb4e03f41b27d50d0e59b7a5 3 | timeCreated: 1504916509 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Plugins/x86_64.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bb423a2251dfbf04488bb95a0f1ec0e1 3 | folderAsset: yes 4 | timeCreated: 1432793511 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Plugins/x86_64/fccore.bundle/Contents/Info.plist.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ae3adaf31cbcac144bd5778be1e565ed 3 | timeCreated: 1494431117 4 | licenseType: Store 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts/Encoder.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fde401d160f133842addfb7db5ae4c97 3 | folderAsset: yes 4 | timeCreated: 1494318897 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/GameView.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 860e2fa82cdb5ca47ba9e65328cd0ffb 3 | folderAsset: yes 4 | timeCreated: 1510340443 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Plugins/x86_64/fccore.bundle/Contents/MacOS/fccore.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ebc87403d133ba04da787b7ea5967b1f 3 | timeCreated: 1494431117 4 | licenseType: Store 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/RenderTexture.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cb499ec071a55cd4b8f4df814a75ff88 3 | folderAsset: yes 4 | timeCreated: 1499701067 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Camera/Shaders/MakeOpaque.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 47076bc6b042d8845afcc738ee629c80 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Camera/Shaders/CameraInputCopy.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 27b3c3eacdc894cc1bb7c498c451d9ef 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/RenderTextureSampler/Shaders/BS4Normalize.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1e48dcc6629339d438e7c701fa87866d 3 | timeCreated: 1494516881 4 | licenseType: Free 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Plugins/x86_64/fccore.bundle/Contents.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 96396973072080b44b74b8b56e8ca90f 3 | folderAsset: yes 4 | timeCreated: 1494431117 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/ProRes/ProResPreset.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 408d47820f9d999499f422221f79ea6f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/RenderTextureSampler/Shaders/BS4Accumulate.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 24232f5f40aada14995712e173fc8bd7 3 | timeCreated: 1494516871 4 | licenseType: Free 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/RenderTextureSampler/Shaders/BS4SuperShader.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9700ad97272d0dc4587c6882edb94130 3 | timeCreated: 1494516890 4 | licenseType: Free 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/Base/RefHandle.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f0754424e70a79543bf37555de316882 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Encoding/MediaEncoder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b00fc2c7e1cdce442b368770ffb9cf21 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/ProRes/ProResWrapper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8307b1b09b8c71445afc27e25e7ebc28 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Sources/CameraCapture.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d36c7f4b1ab29415394bf531fb4b54c8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Sources/GenericRecorder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e971ec30698b0bf41bd9afdd5694c8ba 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Sources/RecorderOptions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b05c11a3c18e84fa391e38ed66c22189 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Plugins/x86_64/fccore.bundle/Contents/MacOS.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b5d1e24071d5d1e46ace7e1af1f324bb 3 | folderAsset: yes 4 | timeCreated: 1494431117 5 | licenseType: Store 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Editor/Timeline/RecorderClip.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f1e95aa6d658d694785bfde37c857fff 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/Editor/MovieRecorderTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 94b25187eb3d04972896de413ac713e6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/Runtime/SceneHookTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3a2df1fd6ca917d46b0de96630b76852 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Encoding/CoreMediaEncoder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 46a864daf7a1f59408ee9a0a04b90a21 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/ProRes/ProResEncoderPlugin.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 14aa9ac30aa2ce047b92eccc3b227b97 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Sources/BaseTextureRecorder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 81978aadb8a4640a4acef012808a01dd 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Sources/ImageHeightSelector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9b9f59dbe78d8ab43ad96132525a4ce7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Sources/ImageInputSelector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: be959353d7114bf49a8e4f4e9a342714 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Sources/ImageInputSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c325a4f7bd7f8b047aa4fbd825163d85 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/Editor/RecorderControllerTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 91f61525e9ce75f43854e1cd287a0aae 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/Editor/RecorderSettingsTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 47ef07ebc89ba5042bd9d432c73d9632 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/Runtime/MovieRecorderFixture.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e078efe0ceb7489419a14e821a591ce0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/Runtime/TimelineRecorderTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 72fcb55d1f7b4bb4198f5ec0b0ac3ab3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Sources/Helpers/UIElementHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7f600cbd2e2017644acd41761766ea58 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Sources/_FrameRequestComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6afdecc9a1848f246b874d5c6e241268 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/Editor/InputRecorderSettingsTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6d8c953c94ec72b40bbae33ddd82f793 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/Runtime/RecorderControllerTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eab0939c4938f3d4fbd960ee0ee4ce10 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/GameViewSize.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f158296cc8641d24788ec4de9c3ca9e3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Samples~/RecorderEditor/RecorderEditorExample.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bda7ef56cff178f44bd5839568dbd198 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/Editor/RecorderControllerSettingsTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 24208989de73e2349a7b2d40aa1d2c23 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Sources/Recorder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 58fe471fc3009fb4d8cf266a5cc5a7a1 3 | timeCreated: 1491415343 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/RecorderControllerSettingsPreset.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5537212fe2c4414c9a0cdd7ba0728908 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Camera/CameraInput.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d0cc8567a67db240a4e84b0ea062245 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Sources/SceneHook.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e378e9c2cad5a7e48a6931f63edd1421 3 | timeCreated: 1491415344 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/InputSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fca86976b230bf6489cba451676ee05b 3 | timeCreated: 1494616113 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/InternalEnums.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f3941bff05f4e88479d3c4741b63bbf1 3 | timeCreated: 1491415344 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/RecorderEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c2d3ad15b5919624bbfcb237e18fd2ec 3 | timeCreated: 1491415343 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/RecorderInput.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9f956c0b0f15ce74aac4600909d4e55f 3 | timeCreated: 1491415343 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/RecorderSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 180842267b7175e4c9dedaf1f548db0f 3 | timeCreated: 1491415343 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/AudioRecorder/AudioRecorder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4d9524a47955297419b5d4858ea0e90c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Sources/RecordingSession.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 061b0c1d04c01f54fa322b11b8662964 3 | timeCreated: 1491415343 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/TextureFlipper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 638d71d378e8c794285fa6bc5cbfcd19 3 | timeCreated: 1504913521 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Timeline/RecorderTrack.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e6cf5671577b7344ba25c25b4346ce4 3 | timeCreated: 1491415343 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Samples~/MultipleRecordings/MultipleRecordingsExample.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d4dd339be962bba4aa82c902f7b3452e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Sources/Helpers/EnumHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1b214d139e24e30418dc1f364e2a9361 3 | timeCreated: 1496174097 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Helpers/UnityHelpers.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 639bab1152ec3984184d25ab38abd226 3 | timeCreated: 1491415343 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Camera/CameraInputSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a8e4edca843db3b4bb41baa076395e85 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Camera360/Camera360Input.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6c433f8333932f14da0b7f9b6963258e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Sources/RecordersInventory.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e11d656cf6217cb41ba5443ff354aea7 3 | timeCreated: 1491415344 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/_RecorderComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6122dab7ff1764c468a03aa29f49ea5b 3 | timeCreated: 1491415343 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Timeline/RecorderClipEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c7fe8472aebc45f4b93027b60a4003b3 3 | timeCreated: 1491415344 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Timeline/RecorderSelector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b94e4c4dfdb07cb43b93121a598b6e00 3 | timeCreated: 1493839035 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/BaseRenderTextureInput.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1dd8c8968d3848743a824ed5191b2805 3 | timeCreated: 1491415343 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/RecorderSettingsAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ca62b38426adb1d47ad6cd6c94001b6a 3 | timeCreated: 1491415344 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Camera360/Camera360InputSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f482d23ae5c5c16468b9bec7d87e7d62 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Timeline/RecorderPlayableBehaviour.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d580900d83be2664c9c035d6e50791fe 3 | timeCreated: 1491415344 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Helpers/SerializableObjHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b91f080b208afff4d94678e466eeecc4 3 | timeCreated: 1491415343 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Camera360/Camera360InputPropertyDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 265a2c6c7e77b6149a0fc4a60bb29cf9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Timeline/_WaitForEndOfFrameComponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fb0550cc97f23464f99f702c09306f21 3 | timeCreated: 1491590881 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Tests/Runtime/Unity.Recorder.Tests.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Unity.Recorder.Tests", 3 | "references": [ 4 | "Unity.Recorder", 5 | "Unity.Recorder.Editor", 6 | "Unity.Timeline" 7 | ], 8 | "optionalUnityReferences": [ 9 | "TestAssemblies" 10 | ], 11 | "includePlatforms": [], 12 | "excludePlatforms": [] 13 | } 14 | -------------------------------------------------------------------------------- /Editor/Sources/OutputPath.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 44034f3dfb9cc1b4c9e86ff509fe70f4 3 | timeCreated: 1502405084 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/GIFRecorder/GIFRecorder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ed1345f8bf983c44eabea9eb25c9dfca 3 | timeCreated: 1494193318 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Camera/CameraInputSettingsPropertyDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9859176119f26664bb0e2eb2c286f293 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/EXR/EXRRecorder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 35e78ae7de177d440969878b883fc095 3 | timeCreated: 1494189559 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/MP4/MP4Recorder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b5b9496d9b39e674abf5b3bd1ad57a67 3 | timeCreated: 1491415343 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/PNG/PNGRecorder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fd32dc75ec04a564baf657a78c7e0e02 3 | timeCreated: 1491415344 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/WEBM/WEBMRecorder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 863996e4edcb5b04ea58bf8223641884 3 | timeCreated: 1494192856 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Resources/Styles/recorder.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dab23848655b5c74ca8b171d95b0864a 3 | ScriptedImporter: 4 | fileIDToRecycleName: 5 | 11400000: stylesheet 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/GIFRecorder/GIFRecorderSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e435bf89a8bb0bf4abee94a2cc516927 3 | timeCreated: 1494193318 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/ImageRecorder/ImageRecorder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1ba8d1176c817374b97c04409a853fc5 3 | timeCreated: 1494348128 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Animation/AnimationInput.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 262e9424f303141518c858a648377c23 3 | timeCreated: 1504030414 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/BaseFCRecorderSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eb010d9e17c69d3428750677d9ffb1be 3 | timeCreated: 1496179613 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/EXR/EXRRecorderSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c65eb0e897ba0c84da8868303d21a17f 3 | timeCreated: 1494189560 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/MP4/MP4RecorderSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a6ee9a8f826ced34082d654155141a26 3 | timeCreated: 1491415343 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/PNG/PNGRecorderSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ed4775271d95de24194e9dad1b8e46ab 3 | timeCreated: 1491415344 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Resources/Styles/recorder_darkSkin.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 940a3fecc672f9f4ba7ab2b5b71a63a5 3 | ScriptedImporter: 4 | fileIDToRecycleName: 5 | 11400000: stylesheet 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /Editor/Sources/FileNameGenerator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a95cc60500f985d458e4f1b1af26903f 3 | timeCreated: 1502401798 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/Sources/InputPropertyDrawer.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace UnityEditor.Recorder 4 | { 5 | abstract class InputPropertyDrawer : TargetedPropertyDrawer where T : class 6 | { 7 | public override float GetPropertyHeight(SerializedProperty property, GUIContent label) 8 | { 9 | return 0.0f; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Editor/Sources/InputPropertyDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8974526d005ae444390dd14b549e88c1 3 | timeCreated: 1502389922 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/Sources/OutputPathDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eba378c9cb692fe42a5d65b8ff4fd410 3 | timeCreated: 1502405084 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/GIFRecorder/GIFRecorderSettingsEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 30c894a29296f1c43940e5f47ad54522 3 | timeCreated: 1494203989 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/ImageRecorder/ImageRecorderEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3d5a09c81dc527545a1051b2e9b1a646 3 | timeCreated: 1494348128 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/ImageRecorder/ImageRecorderSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 06397f605c749fe4dbe2df4bbd1ef4a1 3 | timeCreated: 1494348128 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/EXR/EXRRecorderSettingsEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8c32108e0d92efe43bf433bbf6f666b0 3 | timeCreated: 1494203989 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/WEBM/WEBMRecorderSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d33382d41b60b72438f8e9586f86504a 3 | timeCreated: 1494192856 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Resources/Styles/recorder_lightSkin.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7de59e38a5edf344794b4a5cb8baaae0 3 | ScriptedImporter: 4 | fileIDToRecycleName: 5 | 11400000: stylesheet 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /Tests/Editor/Unity.Recorder.Editor.Tests.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Unity.Recorder.Editor.Tests", 3 | "references": [ 4 | "Unity.Recorder.Editor", 5 | "Unity.Recorder" 6 | ], 7 | "optionalUnityReferences": [ 8 | "TestAssemblies" 9 | ], 10 | "includePlatforms": [ 11 | "Editor" 12 | ], 13 | "excludePlatforms": [] 14 | } 15 | -------------------------------------------------------------------------------- /Editor/Sources/FileNameGeneratorDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 705506601d70ac144bf0d9182eac6424 3 | timeCreated: 1502463803 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Animation/AnimationInputSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c011637fb4c894c56a9178092966b5ac 3 | timeCreated: 1504030414 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts/Misc/Bool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e74a0ade798956d49a6bbb833422663e 3 | timeCreated: 1457112037 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/MP4/MP4RecorderSettingsEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c326ee44aa645544f8fc5c854ad52d8d 3 | timeCreated: 1491415343 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/PNG/PNGRecorderSettingsEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b54fab5cb1f84d044835a48fe603969c 3 | timeCreated: 1491415343 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/WEBM/WEBMRecorderSettingsEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0a39b3db9ae16074faa9f43e85b7f61b 3 | timeCreated: 1494203988 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts/Encoder/fcAPI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d6913dd8876ab8149ac67f69aba208ac 3 | timeCreated: 1432919907 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts/Misc/BoolDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a7234308adeab3d419817de7e29c50f1 3 | timeCreated: 1494004664 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts/Misc/DataPath.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0fd1bcdf4e762654da9323b7b37cfecb 3 | timeCreated: 1457112037 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Audio/AudioInput.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d53962d7bf5a4415ba204aea5e80e746 3 | timeCreated: 1502429657 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/RenderTextureSampler/RenderTextureSampler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6bda971be788f044c91c68400f4a2ad6 3 | timeCreated: 1494516853 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts/Encoder/EXREncoder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2edf1ed5e1f1c8544b925c302853bbb8 3 | timeCreated: 1494000131 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts/Encoder/EncoderBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5078fb266c916184bb5cd9e635b82f9d 3 | timeCreated: 1494630775 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts/Encoder/GIFEncoder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e328bea6ad6257848a01305be866b33b 3 | timeCreated: 1493996447 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts/Encoder/MP4Encoder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 15136ad38d3c16f4d91a6c802884de03 3 | timeCreated: 1493996447 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts/Encoder/MovieEncoder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 05a483774a00261429ff072ba4a63bea 3 | timeCreated: 1493995555 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts/Encoder/PNGEncoder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cb579d3ab681ded4bbcd41bac0530cb4 3 | timeCreated: 1494000131 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts/Encoder/WEBMEncoder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: feb89bd50fd2c9b4589670dc229526c7 3 | timeCreated: 1493996447 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts/Misc/DataPathDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a2c8844522598244c853bbfcb74cf8ac 3 | timeCreated: 1494004664 4 | licenseType: Store 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/MovieRecorder/MovieRecorder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 81bb4b24c44c943b49c402cbdad20d9c 3 | timeCreated: 1501796122 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Animation/AnimationInputSettingsPropertyDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: afc6867a22e414a188b45973bcc23273 3 | timeCreated: 1504040760 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/GameView/GameViewInput.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 74df144a4ec2f8049a8fdc52d05d35bc 3 | timeCreated: 1510340499 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/MovieRecorder/MovieRecorderEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 856c53159e929467abccd8747fc0fbbb 3 | timeCreated: 1501796122 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/MovieRecorder/MovieRecorderSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6fde0a8ac3e6b482c95fa602e65ab045 3 | timeCreated: 1501796122 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Audio/AudioInputSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fae41d0797227451ea4b10db1c086647 3 | timeCreated: 1502429657 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/RenderTextureSampler/RenderTextureSamplerSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f88da291941f5f54098ecaf6bf1bc3b9 3 | timeCreated: 1494603869 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Samples~/RecorderEditor/Unity.Recorder.Samples.Editor.api: -------------------------------------------------------------------------------- 1 | // This file is generated. Do not modify by hand. 2 | // XML documentation file not found. To check if public methods have XML comments, 3 | // make sure the XML doc file is present and located next to the scraped dll 4 | namespace UnityEditor.Recorder.Examples 5 | { 6 | public static class RecorderEditorExample 7 | { 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/GameView/GameViewInputSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a93936c560512aa4f89b283d08d5b3f0 3 | timeCreated: 1510340516 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/RenderTexture/RenderTextureInput.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2b489925208325240a6246efb44d6e67 3 | timeCreated: 1499701845 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/RenderTextureSampler/RenderTextureSamplerPropertyDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 225145e129ea169449ebe485a462e36a 3 | timeCreated: 1494603718 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/GameView/GameViewInputPropertyDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7be4a1e8b0e041d488d5c5b413073863 3 | timeCreated: 1510340549 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Audio/AudioInputSettingsPropertyDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: db4f1a6c0bab84e29b9a12b4db3909c0 3 | timeCreated: 1502429657 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/RenderTexture/RenderTextureInputSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3ef190f44e596a94ebfec7c7b888a950 3 | timeCreated: 1499701145 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/AnimationRecorder/AnimationRecorderSettingsEditor.cs: -------------------------------------------------------------------------------- 1 | namespace UnityEditor.Recorder 2 | { 3 | [CustomEditor(typeof(AnimationRecorderSettings))] 4 | class AnimationRecorderSettingsEditor : RecorderEditor 5 | { 6 | protected override void FileTypeAndFormatGUI() 7 | { 8 | EditorGUILayout.LabelField("Format", "Animation Clip"); 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Editor/Timeline/RecorderTrack.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine.Timeline; 3 | 4 | namespace UnityEditor.Recorder.Timeline 5 | { 6 | /// 7 | /// Indicates the Track type for the Recorder. 8 | /// 9 | [Serializable] 10 | [TrackClipType(typeof(RecorderClip))] 11 | [TrackColor(0f, 0.53f, 0.08f)] 12 | public class RecorderTrack : TrackAsset 13 | { 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/RenderTexture/RenderTextureInputSettingsPropertyDrawer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 72cd87241899a7446a3b6e2ece276a56 3 | timeCreated: 1499701145 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Samples~/Unity.Recorder.Samples.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Unity.Recorder.Samples", 3 | "references": [ 4 | "Unity.Recorder.Editor" 5 | ], 6 | "optionalUnityReferences": [], 7 | "includePlatforms": [], 8 | "excludePlatforms": [], 9 | "allowUnsafeCode": false, 10 | "overrideReferences": false, 11 | "precompiledReferences": [], 12 | "autoReferenced": true, 13 | "defineConstraints": [], 14 | "versionDefines": [] 15 | } -------------------------------------------------------------------------------- /Documentation~/InclCaptureOptionsRenderTextureAsset.md: -------------------------------------------------------------------------------- 1 | 2 | ### Render Texture Asset 3 | 4 | These properties appear when you set **Source** to **Render Texture Asset**. 5 | 6 | ![](Images/CaptureOptionsRenderTextureAsset.png) 7 | 8 | |Property|Function| 9 | |-|-| 10 | | Render Texture | Points to the render texture you want the Recorder to capture. | 11 | | Size | The actual dimensions (width x height) of the targeted Render Texture. | 12 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/GIFRecorder/GIFRecorderSettingsEditor.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace UnityEditor.Recorder 4 | { 5 | [CustomEditor(typeof(GIFRecorderSettings))] 6 | class GIFRecorderSettingsEditor : RecorderEditor 7 | { 8 | protected override void OnEncodingGui() 9 | { 10 | EditorGUILayout.PropertyField(serializedObject.FindProperty("gifEncoderSettings"), new GUIContent("Encoding"), true); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Unity Recorder copyright © 2019 Unity Technologies ApS 2 | 3 | Licensed under the Unity Companion License for Unity-dependent projects--see [Unity Companion License](http://www.unity3d.com/legal/licenses/Unity_Companion_License). 4 | 5 | Unless expressly provided otherwise, the Software under this license is made available strictly on an “AS IS” BASIS WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. Please review the license for details on these and other terms and conditions. 6 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/EXR/EXRRecorderSettingsEditor.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace UnityEditor.Recorder.FrameCapturer 4 | { 5 | [CustomEditor(typeof(EXRRecorderSettings))] 6 | class EXRRecorderSettingsEditor : RecorderEditor 7 | { 8 | protected override void OnEncodingGui() 9 | { 10 | EditorGUILayout.PropertyField(serializedObject.FindProperty("m_ExrEncoderSettings"), new GUIContent("Encoding"), true); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/PNG/PNGRecorderSettingsEditor.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace UnityEditor.Recorder.FrameCapturer 4 | { 5 | [CustomEditor(typeof(PNGRecorderSettings))] 6 | class PNGRecorderSettingsEditor : RecorderEditor 7 | { 8 | protected override void OnEncodingGui() 9 | { 10 | EditorGUILayout.PropertyField(serializedObject.FindProperty("m_PngEncoderSettings"), new GUIContent("Encoding"), true); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Samples~/RecorderEditor/Unity.Recorder.Samples.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Unity.Recorder.Samples.Editor", 3 | "references": [ 4 | "Unity.Recorder.Editor" 5 | ], 6 | "optionalUnityReferences": [], 7 | "includePlatforms": [ 8 | "Editor" 9 | ], 10 | "excludePlatforms": [], 11 | "allowUnsafeCode": false, 12 | "overrideReferences": false, 13 | "precompiledReferences": [], 14 | "autoReferenced": true, 15 | "defineConstraints": [], 16 | "versionDefines": [] 17 | } -------------------------------------------------------------------------------- /Editor/Sources/InputSettings.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace UnityEditor.Recorder 5 | { 6 | /// 7 | /// Base class that represents a RecorderSetting Input that can be recorded from. (like a Camera, a RenderTexture...) 8 | /// 9 | [Serializable] 10 | public abstract class RecorderInputSettings 11 | { 12 | protected internal abstract Type InputType { get; } 13 | protected internal abstract bool ValidityCheck(List errors); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts/Encoder/EncoderBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | 4 | namespace UnityEditor.Recorder.FrameCapturer 5 | { 6 | abstract class EncoderBase 7 | { 8 | protected EncoderBase() 9 | { 10 | AppDomain.CurrentDomain.DomainUnload += WaitAsyncDelete; 11 | } 12 | 13 | static void WaitAsyncDelete(object sender, EventArgs e) 14 | { 15 | fcAPI.fcWaitAsyncDelete(); 16 | } 17 | 18 | public abstract void Release(); 19 | public abstract bool IsValid(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Samples~/Unity.Recorder.Samples.api: -------------------------------------------------------------------------------- 1 | // This file is generated. Do not modify by hand. 2 | // XML documentation file not found. To check if public methods have XML comments, 3 | // make sure the XML doc file is present and located next to the scraped dll 4 | namespace UnityEngine.Recorder.Examples 5 | { 6 | public class CaptureScreenShotExample : UnityEngine.MonoBehaviour 7 | { 8 | public CaptureScreenShotExample() {} 9 | } 10 | 11 | public class MultipleRecordingsExample : UnityEngine.MonoBehaviour 12 | { 13 | public MultipleRecordingsExample() {} 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Editor/Unity.Recorder.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Unity.Recorder.Editor", 3 | "references": [ 4 | "Unity.Recorder.Base", 5 | "Unity.Recorder", 6 | "Unity.Timeline", 7 | "Fmod.Runtime", 8 | "Clockwork.Core.Harness" 9 | ], 10 | "includePlatforms": [ 11 | "Editor" 12 | ], 13 | "excludePlatforms": [], 14 | "allowUnsafeCode": true, 15 | "overrideReferences": false, 16 | "precompiledReferences": [], 17 | "autoReferenced": true, 18 | "defineConstraints": [], 19 | "versionDefines": [], 20 | "noEngineReferences": false 21 | } -------------------------------------------------------------------------------- /Editor/Timeline/_WaitForEndOfFrameComponent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace UnityEditor.Recorder.Timeline 5 | { 6 | [ExecuteInEditMode] 7 | class WaitForEndOfFrameComponent : _FrameRequestComponent 8 | { 9 | [NonSerialized] 10 | public RecorderPlayableBehaviour m_playable; 11 | 12 | public void LateUpdate() 13 | { 14 | RequestNewFrame(); 15 | } 16 | 17 | protected override void FrameReady() 18 | { 19 | if (m_playable != null) 20 | m_playable.FrameEnded(); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/EXR/EXRRecorderSettings.cs: -------------------------------------------------------------------------------- 1 | namespace UnityEditor.Recorder.FrameCapturer 2 | { 3 | [RecorderSettings(typeof(EXRRecorder), "Legacy/OpenEXR")] 4 | class EXRRecorderSettings : BaseFCRecorderSettings 5 | { 6 | public fcAPI.fcExrConfig m_ExrEncoderSettings = fcAPI.fcExrConfig.default_value; 7 | 8 | public EXRRecorderSettings() 9 | { 10 | fileNameGenerator.FileName = "image_" + DefaultWildcard.Frame; 11 | } 12 | 13 | protected internal override string Extension 14 | { 15 | get { return "exr"; } 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/PNG/PNGRecorderSettings.cs: -------------------------------------------------------------------------------- 1 | namespace UnityEditor.Recorder.FrameCapturer 2 | { 3 | [RecorderSettings(typeof(PNGRecorder), "Legacy/PNG")] 4 | class PNGRecorderSettings : BaseFCRecorderSettings 5 | { 6 | public fcAPI.fcPngConfig m_PngEncoderSettings = fcAPI.fcPngConfig.default_value; 7 | 8 | public PNGRecorderSettings() 9 | { 10 | fileNameGenerator.FileName = "image_" + DefaultWildcard.Frame; 11 | } 12 | 13 | protected internal override string Extension 14 | { 15 | get { return "png"; } 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Plugins/x64/ProResToolbox.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea51754d4f5edd44e8d654f307b936fb 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 1 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | userData: 26 | assetBundleName: 27 | assetBundleVariant: 28 | -------------------------------------------------------------------------------- /Runtime/Base/Unity.Recorder.Base.api: -------------------------------------------------------------------------------- 1 | // This file is generated. Do not modify by hand. 2 | // XML documentation file not found. To check if public methods have XML comments, 3 | // make sure the XML doc file is present and located next to the scraped dll 4 | namespace Unity.Media 5 | { 6 | public class RefHandle : System.IDisposable where T : class 7 | { 8 | public bool IsCreated { get; } 9 | public T Target { get; set; } 10 | public RefHandle() {} 11 | public RefHandle(T target) {} 12 | public virtual void Dispose(); 13 | public void Dispose(bool disposing); 14 | protected virtual void Finalize(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/WEBM/WEBMRecorderSettings.cs: -------------------------------------------------------------------------------- 1 | namespace UnityEditor.Recorder.FrameCapturer 2 | { 3 | [RecorderSettings(typeof(WEBMRecorder), "Legacy/WebM")] 4 | class WEBMRecorderSettings : BaseFCRecorderSettings 5 | { 6 | public fcAPI.fcWebMConfig m_WebmEncoderSettings = fcAPI.fcWebMConfig.default_value; 7 | public bool m_AutoSelectBR; 8 | 9 | public WEBMRecorderSettings() 10 | { 11 | fileNameGenerator.FileName = "movie"; 12 | m_AutoSelectBR = true; 13 | } 14 | 15 | protected internal override string Extension 16 | { 17 | get { return "webm"; } 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Tests/Runtime/RecordableMonoBehaviour.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using UnityEngine; 3 | 4 | namespace UnityEngine.Recorder.Tests 5 | { 6 | internal class RecordableMonoBehaviour : MonoBehaviour 7 | { 8 | // Compiler yapping about unused members (they are initialized through serialization) 9 | #pragma warning disable 0649 10 | public enum SomeEnum 11 | { 12 | Value1 = 0, 13 | Value2 = 1, 14 | Value3 = 2 15 | }; 16 | 17 | 18 | public bool boolMember; 19 | public SomeEnum enumMember; 20 | public int intMember; 21 | public Vector3 vectMember; 22 | public Quaternion quatMember; 23 | #pragma warning restore 0649 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Documentation~/TableOfContents.md: -------------------------------------------------------------------------------- 1 | * [Recorder overview](index.md) 2 | * [Recording from the Recorder window](RecordingRecorderWindow.md) 3 | * [General recording properties](RecorderWindowRecordingProperties.md) 4 | * [Recorder list](RecorderManage.md) 5 | * [Recording from a Timeline Track](RecordingTimelineTrack.md) 6 | * [Recorder properties](RecorderProperties.md) 7 | * [Output File properties](OutputFileProperties.md) 8 | * [Animation Clip Recorder](RecorderAnimation.md) 9 | * [Movie Recorder](RecorderMovie.md) 10 | * [Image Sequence Recorder](RecorderImage.md) 11 | * [GIF Animation Recorder](RecorderGif.md) 12 | * [Audio Recorder](RecorderAudio.md) 13 | * [Debugging recorders](RecorderDebugging.md) 14 | * [Known issues](KnownIssues.md) 15 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts/Misc/Bool.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace UnityEditor.Recorder.FrameCapturer 5 | { 6 | // bool is marshal as int (4 byte) by default and you need ugly [MarshalAs(UnmanagedType.U1)] to pass to (or receive from) C++ code. 7 | // this struct emulates bool and marshal as byte (1 byte). this makes things bit easier in some cases. 8 | [Serializable] 9 | struct Bool 10 | { 11 | [SerializeField] byte v; 12 | public static implicit operator bool(Bool v) { return v.v != 0; } 13 | public static implicit operator Bool(bool v) { Bool r; r.v = v ? (byte)1 : (byte)0; return r; } 14 | 15 | public static Bool True { get { Bool r; r.v = 1; return r; } } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Runtime/Unity.Recorder.api: -------------------------------------------------------------------------------- 1 | // This file is generated. Do not modify by hand. 2 | // XML documentation file not found. To check if public methods have XML comments, 3 | // make sure the XML doc file is present and located next to the scraped dll 4 | namespace UnityEngine.Recorder 5 | { 6 | [UnityEngine.ExecuteInEditMode] public class RecorderBindings : UnityEngine.MonoBehaviour 7 | { 8 | public RecorderBindings() {} 9 | public void DuplicateBinding(string src, string dst); 10 | public UnityEngine.Object GetBindingValue(string id); 11 | public bool HasBindingValue(string id); 12 | public bool IsEmpty(); 13 | public void RemoveBinding(string id); 14 | public void SetBindingValue(string id, UnityEngine.Object value); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Plugins/macOS/AVFoundationWrapper.bundle.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3655e41e7dd474c919e919467a304084 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 1 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 0 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 1 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Standalone: OSXUniversal 27 | second: 28 | enabled: 1 29 | settings: {} 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /Editor/Sources/RecordModePropertyDrawer.cs: -------------------------------------------------------------------------------- 1 | namespace UnityEditor.Recorder 2 | { 3 | [CustomPropertyDrawer(typeof(RecordMode))] 4 | class RecordModePropertyDrawer : EnumProperyDrawer 5 | { 6 | protected override string ToLabel(RecordMode value) 7 | { 8 | switch (value) 9 | { 10 | case RecordMode.Manual: 11 | return "Manual"; 12 | 13 | case RecordMode.SingleFrame: 14 | return "Single Frame"; 15 | 16 | case RecordMode.FrameInterval: 17 | return "Frame Interval"; 18 | 19 | case RecordMode.TimeInterval: 20 | return "Time Interval (sec)"; 21 | 22 | default: 23 | return "unknown"; 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Audio/AudioInputSettingsPropertyDrawer.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace UnityEditor.Recorder.Input 4 | { 5 | [CustomPropertyDrawer(typeof(AudioInputSettings))] 6 | class AudioInputSettingsPropertyDrawer : InputPropertyDrawer 7 | { 8 | SerializedProperty m_PreserveAudio; 9 | protected override void Initialize(SerializedProperty property) 10 | { 11 | m_PreserveAudio = property.FindPropertyRelative("preserveAudio"); 12 | } 13 | 14 | public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) 15 | { 16 | Initialize(property); 17 | 18 | EditorGUILayout.PropertyField(m_PreserveAudio, new GUIContent("Include Audio", "To Include the audio in the recording.")); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Editor/Sources/GenericRecorder.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace UnityEditor.Recorder 4 | { 5 | /// 6 | /// Base class for all Recorders. 7 | /// 8 | /// The Recorder settings type associated with the Recorder. 9 | public abstract class GenericRecorder : Recorder where T : RecorderSettings 10 | { 11 | [SerializeField] T m_Settings; 12 | 13 | internal override RecorderSettings settings 14 | { 15 | get { return m_Settings; } 16 | set { m_Settings = (T)value; } 17 | } 18 | 19 | /// 20 | /// Indicates the Recorder settings for the current Recorder. 21 | /// 22 | public T Settings 23 | { 24 | get { return m_Settings; } 25 | set { m_Settings = value; } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Editor/Sources/InternalEnums.cs: -------------------------------------------------------------------------------- 1 | namespace UnityEditor.Recorder 2 | { 3 | enum FrameRateType 4 | { 5 | FR_23, // 24 * 1000 / 1001 6 | FR_24, 7 | FR_25, 8 | FR_29, // 30 * 1000 / 1001, 9 | FR_30, 10 | FR_50, 11 | FR_59, // 60 * 1000 / 1001, 12 | FR_60, 13 | FR_CUSTOM, 14 | } 15 | 16 | enum ImageAspect 17 | { 18 | x19_10, 19 | x16_9, 20 | x16_10, 21 | x3_2, 22 | x4_3, 23 | x5_4, 24 | x1_1, 25 | Custom 26 | } 27 | 28 | enum ImageHeight 29 | { 30 | Window = 0, 31 | x4320p_8K = 4320, 32 | x2880p_5K = 2880, 33 | x2160p_4K = 2160, 34 | x1440p_QHD = 1440, 35 | x1080p_FHD = 1080, 36 | x720p_HD = 720, 37 | x480p = 480, 38 | x240p = 240, 39 | Custom = int.MaxValue 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # UNITY RECORDER 2 | 3 | Use the Unity Recorder to capture and save in-game data during [Play Mode](https://docs.unity3d.com/Manual/GameView.html). For example, use the Unity Recorder to capture and save gameplay as an MP4 file. 4 | 5 | A recorder specifies details for creating a recording, including a data source, resolution, and output format. The Unity Recorder package includes the following recorders: 6 | 7 | * __Animation Recorder__: generates an animation clip in ANIM format. 8 | 9 | * __Movie Recorder__: generates a video in MP4 or WebM format. 10 | 11 | * __Image Recorder__: generates a sequence of image files in JPEG, PNG, or OpenEXR format. 12 | 13 | * __GIF Recorder__: generates an animated GIF file. 14 | 15 | The Unity Recorder also supports [Timeline](https://docs.unity3d.com/Manual/TimelineSection.html). Use Recorder tracks and clips to trigger recording sessions from Timeline instances. 16 | -------------------------------------------------------------------------------- /Editor/Sources/TargetedPropertyDrawer.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | namespace UnityEditor.Recorder 4 | { 5 | class TargetedPropertyDrawer : PropertyDrawer where T : class 6 | { 7 | protected T target; 8 | 9 | protected virtual void Initialize(SerializedProperty prop) 10 | { 11 | if (target == null) 12 | { 13 | var path = prop.propertyPath.Split('.'); 14 | object obj = prop.serializedObject.targetObject; 15 | 16 | foreach (var pathNode in path) 17 | obj = GetSerializedField(obj, pathNode).GetValue(obj); 18 | 19 | target = obj as T; 20 | } 21 | } 22 | 23 | static FieldInfo GetSerializedField(object target, string pathNode) 24 | { 25 | return target.GetType().GetField(pathNode, BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Samples~/RecorderEditor/RecorderEditorExample.cs: -------------------------------------------------------------------------------- 1 | namespace UnityEditor.Recorder.Examples 2 | { 3 | /// 4 | /// This example shows how to add "Start Recording" and "Stop Recording" menu items that can then be used to start/stop the 5 | /// Recorders defined in the Recorder window. 6 | /// 7 | /// 8 | /// 9 | public static class RecorderEditorExample 10 | { 11 | [MenuItem(RecorderWindow.MenuRoot + "Examples/Start Recording", false, RecorderWindow.MenuRootIndex + 100)] 12 | static void StartRecording() 13 | { 14 | var recorderWindow = EditorWindow.GetWindow(); 15 | recorderWindow.StartRecording(); 16 | } 17 | 18 | [MenuItem(RecorderWindow.MenuRoot + "Examples/Stop Recording", false, RecorderWindow.MenuRootIndex + 100)] 19 | static void StopRecording() 20 | { 21 | var recorderWindow = EditorWindow.GetWindow(); 22 | recorderWindow.StopRecording(); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Documentation~/RecorderAudio.md: -------------------------------------------------------------------------------- 1 | # Audio Recorder properties 2 | 3 | The **Audio Recorder** generates an audio clip in WAV format. 4 | 5 | This page covers all properties specific to the Audio Recorder type. 6 | 7 | > **Note:** To fully configure any Recorder, you must also set the global [Recording Properties](Recording.md) for the capture (properties shared with the other recorders, such as the frames to record). 8 | 9 | ![](Images/RecorderAudio.png) 10 | 11 | The Audio Recorder properties fall into two main categories: 12 | * [Format](#format) 13 | * [Output File](#output-file) 14 | 15 | ## Format 16 | 17 | Use this section to set up the media format in which you need to save the recorded images. 18 | 19 | |Property|Function| 20 | |:---|:---| 21 | | **Format** | The encoding format for Recorder output. **WAV** is the only possible option. | 22 | 23 | ## Output File 24 | 25 | Use this section to specify the output **Path** and **File Name** pattern to save the recorded animation clip. 26 | 27 | > **Note:** [Output File properties](RecorderProperties.md) work the same for all types of recorders. 28 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/MP4/MP4RecorderSettings.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace UnityEditor.Recorder.FrameCapturer 4 | { 5 | [RecorderSettings(typeof(MP4Recorder), "Legacy/MP4")] 6 | class MP4RecorderSettings : BaseFCRecorderSettings 7 | { 8 | public fcAPI.fcMP4Config m_MP4EncoderSettings = fcAPI.fcMP4Config.default_value; 9 | public bool m_AutoSelectBR; 10 | 11 | public MP4RecorderSettings() 12 | { 13 | fileNameGenerator.FileName = "movie"; 14 | m_AutoSelectBR = true; 15 | 16 | m_ImageInputSelector.cameraInputSettings.maxSupportedSize = ImageHeight.x2160p_4K; 17 | } 18 | 19 | public override bool IsPlatformSupported 20 | { 21 | get 22 | { 23 | return Application.platform == RuntimePlatform.WindowsEditor || Application.platform == RuntimePlatform.WindowsPlayer; 24 | } 25 | } 26 | 27 | protected internal override string Extension 28 | { 29 | get { return "mp4"; } 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Documentation~/KnownIssues.md: -------------------------------------------------------------------------------- 1 | # Known issues and limitations 2 | 3 | This page lists some known issues and limitations that you might experience with the Unity Recorder. It also gives basic instructions to help you work around them. 4 | 5 | #### Recorder window docking & frozen recording 6 | 7 | **Issue:** If you dock the Recorder window in the same panel as the Game view, the recording hangs forever on the first frame when you start it. 8 | 9 | **Workaround:** Undock the Recorder window or dock it elsewhere. 10 | 11 | #### Audio recording limited support 12 | 13 | **Limitation:** The Recorder currently supports only the recording of samples from the Unity built-in audio engine. As such, it cannot record audio from third-party audio engines such as FMOD Studio or Wwise, for example. 14 | 15 | **Workaround:** For a movie, you can record the third-party audio output in WAV format through another application, reimport this recorded file into the Unity Timeline, and then use the Unity Recorder to create the final movie with audio. Alternatively, you can use any video editing software to recompose audio and video. 16 | -------------------------------------------------------------------------------- /Editor/Sources/RecorderInput.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEditor.Recorder 4 | { 5 | public class RecorderInput : IDisposable 6 | { 7 | public RecorderInputSettings settings { get; set; } 8 | 9 | ~RecorderInput() 10 | { 11 | Dispose(false); 12 | } 13 | 14 | public void Dispose() 15 | { 16 | Dispose(true); 17 | } 18 | 19 | protected virtual void Dispose(bool disposing) 20 | { 21 | GC.SuppressFinalize(this); 22 | } 23 | 24 | protected internal virtual void SessionCreated(RecordingSession session) {} 25 | 26 | protected internal virtual void BeginRecording(RecordingSession session) {} 27 | 28 | protected internal virtual void NewFrameStarting(RecordingSession session) {} 29 | 30 | protected internal virtual void NewFrameReady(RecordingSession session) {} 31 | 32 | protected internal virtual void FrameDone(RecordingSession session) {} 33 | 34 | protected internal virtual void EndRecording(RecordingSession session) {} 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Editor/Sources/EnumProperyDrawer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace UnityEditor.Recorder 6 | { 7 | abstract class EnumProperyDrawer : PropertyDrawer 8 | { 9 | GUIContent[] m_DisplayNames; 10 | 11 | public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) 12 | { 13 | if (m_DisplayNames == null) 14 | { 15 | var displayNames = new List(); 16 | 17 | foreach (T frameRate in Enum.GetValues(typeof(T))) 18 | { 19 | displayNames.Add(new GUIContent(ToLabel(frameRate))); 20 | } 21 | 22 | m_DisplayNames = displayNames.ToArray(); 23 | } 24 | 25 | EditorGUI.BeginProperty(position, label, property); 26 | 27 | property.intValue = EditorGUI.Popup(position, label, property.intValue, m_DisplayNames); 28 | 29 | EditorGUI.EndProperty(); 30 | } 31 | 32 | protected abstract string ToLabel(T value); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts/Misc/BoolDrawer.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace UnityEditor.Recorder.FrameCapturer 4 | { 5 | [CustomPropertyDrawer(typeof(Bool))] 6 | class BoolDrawer : PropertyDrawer 7 | { 8 | public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) 9 | { 10 | EditorGUI.BeginProperty(position, label, property); 11 | position = EditorGUI.PrefixLabel(position, GUIUtility.GetControlID(FocusType.Passive), label); 12 | 13 | var indent = EditorGUI.indentLevel; 14 | EditorGUI.indentLevel = 0; 15 | 16 | var p = property.FindPropertyRelative("v"); 17 | bool value = p.intValue != 0; 18 | 19 | EditorGUI.BeginChangeCheck(); 20 | value = EditorGUI.Toggle(position, value); 21 | if (EditorGUI.EndChangeCheck()) 22 | { 23 | p.intValue = value ? 1 : 0; 24 | } 25 | 26 | EditorGUI.indentLevel = indent; 27 | EditorGUI.EndProperty(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/AudioRecorder/AudioRecorderEditor.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace UnityEditor.Recorder 4 | { 5 | [CustomEditor(typeof(AudioRecorderSettings))] 6 | class AudioRecorderEditor : RecorderEditor 7 | { 8 | SerializedProperty m_OutputFormat; 9 | 10 | static class Styles 11 | { 12 | internal static readonly GUIContent FormatLabel = new GUIContent("Format"); 13 | } 14 | 15 | protected override void OnEnable() 16 | { 17 | base.OnEnable(); 18 | 19 | if (target == null) 20 | return; 21 | 22 | m_OutputFormat = serializedObject.FindProperty("outputFormat"); 23 | } 24 | 25 | protected override void FileTypeAndFormatGUI() 26 | { 27 | EditorGUILayout.PropertyField(m_OutputFormat, Styles.FormatLabel); 28 | } 29 | 30 | protected override void ImageRenderOptionsGUI() 31 | { 32 | } 33 | 34 | internal override bool DrawCaptureSection() 35 | { 36 | return false; 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Editor/Sources/AspectRatio.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace UnityEditor.Recorder 6 | { 7 | [Serializable] 8 | class AspectRatio 9 | { 10 | [SerializeField] float m_CustomAspectX = 1.0f; 11 | [SerializeField] float m_CustomAspectY = 1.0f; 12 | 13 | [SerializeField] ImageAspect m_ImageAspect = ImageAspect.x16_9; 14 | 15 | internal static readonly Dictionary s_AspectToValue = new Dictionary 16 | { 17 | { ImageAspect.x16_9, 16.0f / 9.0f }, 18 | { ImageAspect.x16_10, 16.0f / 10.0f }, 19 | { ImageAspect.x19_10, 19.0f / 10.0f }, 20 | { ImageAspect.x5_4, 5.0f / 4.0f }, 21 | { ImageAspect.x4_3, 4.0f / 3.0f }, 22 | { ImageAspect.x3_2, 3.0f / 2.0f }, 23 | { ImageAspect.x1_1, 1.0f } 24 | }; 25 | 26 | public float GetAspect() 27 | { 28 | return m_ImageAspect == ImageAspect.Custom ? m_CustomAspectX / m_CustomAspectY : s_AspectToValue[m_ImageAspect]; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Plugins/x86_64/fccore.bundle/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | fccore 9 | CFBundleGetInfoString 10 | 11 | CFBundleIconFile 12 | 13 | CFBundleIdentifier 14 | 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleLongVersionString 18 | 19 | CFBundleName 20 | 21 | CFBundlePackageType 22 | APPL 23 | CFBundleShortVersionString 24 | 25 | CFBundleSignature 26 | ???? 27 | CFBundleVersion 28 | 29 | CSResourcesFileMapped 30 | 31 | NSHumanReadableCopyright 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /Runtime/SerializedDictionnary.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace UnityEngine.Recorder 5 | { 6 | [Serializable] 7 | class SerializedDictionary : ISerializationCallbackReceiver 8 | { 9 | [SerializeField] List m_Keys = new List(); 10 | [SerializeField] List m_Values = new List(); 11 | 12 | readonly Dictionary m_Dictionary = new Dictionary(); 13 | 14 | public Dictionary dictionary 15 | { 16 | get { return m_Dictionary; } 17 | } 18 | 19 | public void OnBeforeSerialize() 20 | { 21 | m_Keys.Clear(); 22 | m_Values.Clear(); 23 | 24 | foreach (var keyPair in m_Dictionary) 25 | { 26 | m_Keys.Add(keyPair.Key); 27 | m_Values.Add(keyPair.Value); 28 | } 29 | } 30 | 31 | public void OnAfterDeserialize() 32 | { 33 | m_Dictionary.Clear(); 34 | 35 | for (int i = 0; i < m_Keys.Count; ++i) 36 | m_Dictionary.Add(m_Keys[i], m_Values[i]); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Audio/AudioInputSettings.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using UnityEngine; 5 | 6 | namespace UnityEditor.Recorder.Input 7 | { 8 | /// 9 | /// Use this class to manage all the information required to record audio from a Scene. 10 | /// 11 | [DisplayName("Audio")] 12 | [Serializable] 13 | public class AudioInputSettings : RecorderInputSettings 14 | { 15 | /// 16 | /// Use this property to record the audio from the Scene (True) or not (False). 17 | /// 18 | public bool PreserveAudio 19 | { 20 | get { return preserveAudio; } 21 | set { preserveAudio = value; } 22 | } 23 | 24 | [SerializeField] private bool preserveAudio = true; 25 | /// 26 | protected internal override Type InputType 27 | { 28 | get { return typeof(FmodAudioInput); } 29 | } 30 | 31 | /// 32 | protected internal override bool ValidityCheck(List errors) 33 | { 34 | return true; 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Editor/Sources/FrameRateProperyDrawer.cs: -------------------------------------------------------------------------------- 1 | namespace UnityEditor.Recorder 2 | { 3 | [CustomPropertyDrawer(typeof(FrameRateType))] 4 | class FrameRateProperyDrawer : EnumProperyDrawer 5 | { 6 | protected override string ToLabel(FrameRateType value) 7 | { 8 | switch (value) 9 | { 10 | case FrameRateType.FR_23: 11 | return "23.97"; 12 | case FrameRateType.FR_24: 13 | return "Film (24)"; 14 | case FrameRateType.FR_25: 15 | return "PAL (25)"; 16 | case FrameRateType.FR_29: 17 | return "NTSC (29.97)"; 18 | case FrameRateType.FR_30: 19 | return "30"; 20 | case FrameRateType.FR_50: 21 | return "50"; 22 | case FrameRateType.FR_59: 23 | return "59.94"; 24 | case FrameRateType.FR_60: 25 | return "60"; 26 | case FrameRateType.FR_CUSTOM: 27 | return "Custom"; 28 | 29 | default: 30 | return "unknown"; 31 | } 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/AudioRecorder/AudioRecorderSettings.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEditor.Recorder.Input; 3 | using UnityEngine; 4 | 5 | namespace UnityEditor.Recorder 6 | { 7 | enum AudioRecorderOutputFormat 8 | { 9 | // MP3, 10 | WAV 11 | } 12 | 13 | [RecorderSettings(typeof(AudioRecorder), "Audio")] 14 | class AudioRecorderSettings : RecorderSettings 15 | { 16 | public AudioRecorderOutputFormat outputFormat = AudioRecorderOutputFormat.WAV; 17 | 18 | [SerializeField] AudioInputSettings m_AudioInputSettings = new AudioInputSettings(); 19 | 20 | protected internal override string Extension 21 | { 22 | get { return outputFormat.ToString().ToLower(); } 23 | } 24 | 25 | public AudioInputSettings audioInputSettings 26 | { 27 | get { return m_AudioInputSettings; } 28 | } 29 | 30 | public override IEnumerable InputsSettings 31 | { 32 | get { yield return m_AudioInputSettings; } 33 | } 34 | 35 | 36 | public AudioRecorderSettings() 37 | { 38 | fileNameGenerator.FileName = "mixdown_" + DefaultWildcard.Take; 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Editor/Sources/RecorderSettingsAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEditor.Recorder 4 | { 5 | /// 6 | /// This attribute allows binding a Recorder Settings instance with a Recorder. 7 | /// 8 | [AttributeUsage(AttributeTargets.Class, Inherited = false)] 9 | public class RecorderSettingsAttribute : Attribute 10 | { 11 | internal readonly Type recorderType; 12 | internal readonly string displayName; 13 | internal readonly string iconName; 14 | 15 | /// 16 | /// Constructor for the attribute. 17 | /// 18 | /// The type of Recorder that uses this Recorder Settings instance. 19 | /// The Recorder's display name. 20 | public RecorderSettingsAttribute(Type recorderType, string displayName) 21 | { 22 | this.recorderType = recorderType; 23 | this.displayName = displayName; 24 | } 25 | 26 | public RecorderSettingsAttribute(Type recorderType, string displayName, string iconName) 27 | { 28 | this.iconName = iconName; 29 | this.recorderType = recorderType; 30 | this.displayName = displayName; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Tests/Runtime/SceneHookTests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | using UnityEditor.Recorder; 3 | 4 | namespace UnityEngine.Recorder.Tests 5 | { 6 | class SceneHookTests 7 | { 8 | [Test] 9 | public void SceneHookGameObject_AfterStartRecording_ShouldBeVisible() 10 | { 11 | var settings = ScriptableObject.CreateInstance(); 12 | var recorder = ScriptableObject.CreateInstance(); 13 | 14 | settings.AddRecorderSettings(recorder); 15 | var recorderController = new RecorderController(settings); 16 | 17 | RecorderOptions.VerboseMode = false; // Make sure visibility is not toggled on because of debugMode. 18 | 19 | recorderController.PrepareRecording(); 20 | Assert.IsTrue(recorderController.StartRecording()); 21 | Assert.IsTrue(recorderController.IsRecording()); 22 | 23 | var gameObject = GameObject.Find("Unity-RecorderSessions"); 24 | 25 | Assert.IsNotNull(gameObject); 26 | Assert.IsTrue(gameObject.hideFlags == HideFlags.None); 27 | 28 | recorderController.StopRecording(); 29 | 30 | Object.DestroyImmediate(recorder); 31 | Object.DestroyImmediate(settings); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Documentation~/InclCaptureOptionsTextureSampling.md: -------------------------------------------------------------------------------- 1 | 2 | ### Texture Sampling 3 | 4 | These properties appear when you set **Source** to **Texture Sampling**. 5 | 6 | Use this capture method when the **Rendering Resolution** has the same or higher resolution than the **Output Resolution**. 7 | 8 | ![](Images/CaptureOptionsTextureSampling.png) 9 | 10 | |Property||Function| 11 | |-|-|-| 12 | | **Camera** ||Specifies which camera the Recorder uses to capture the recording.| 13 | | | ActiveCamera | The Camera that is active when you launch the recording. | 14 | | | MainCamera | The Camera tagged with the MainCamera [Tag](https://docs.unity3d.com/Manual/Tags.html). | 15 | | | TaggedCamera | A camera tagged with a specific [Tag](https://docs.unity3d.com/Manual/Tags.html).

If you select this option, you must enter a value in the **Tag** field. | 16 | |**Tag** | | Specifies which Camera Tag to look for when you set **Camera** to **Tagged Camera**. | 17 | | **Aspect Ratio** || The ratio of width to height of the recorded output. | 18 | | **Supersampling Grid** | | The size of the grid of sub-pixels to use for supersampling pattern. | 19 | | **Rendering Resolution** || The vertical resolution of the input from which to sample. | 20 | | **Output Resolution** || The vertical resolution of the recording to output to. | 21 | -------------------------------------------------------------------------------- /Editor/Sources/Resources/Styles/recorder_darkSkin.uss: -------------------------------------------------------------------------------- 1 | .RecorderListHeader { 2 | background-color: #2C2C2C; 3 | border-color: #404040; 4 | } 5 | 6 | .RecorderListHeader:hover { 7 | background-color: #4C4C4C; 8 | } 9 | 10 | #presetButton:hover { 11 | background-color: #4C4C4C; 12 | } 13 | 14 | .StandardPanel { 15 | border-color: #292929; 16 | } 17 | 18 | RecorderItem { 19 | background-color: #404040; 20 | border-color: #2B2B2B; 21 | } 22 | 23 | RecorderItem.selected { 24 | background-color: #555555; 25 | border-color: #A2A2A2; 26 | } 27 | 28 | #recorderList:focus > * > RecorderItem.selected { 29 | background-color: #525f65; 30 | border-color: #4097C3; 31 | } 32 | 33 | RecorderItem.disabled { 34 | background-color: #303030; 35 | } 36 | 37 | RecorderItem.disabled.selected { 38 | background-color: #555555; 39 | } 40 | 41 | RecorderItem.hasErrors { 42 | background-color: #F05050; 43 | } 44 | 45 | RecorderItem.hasErrors.selected { 46 | background-color: #F03030; 47 | } 48 | 49 | RecorderItem.selected > EditableLabel > * { 50 | color: #FFFFFF; 51 | } 52 | 53 | PanelSplitter { 54 | background-color: #2C2C2C; 55 | border-color: #292929; 56 | } 57 | 58 | #statusBar { 59 | background-color: #2C2C2C; 60 | } 61 | 62 | #recordersPanel { 63 | background-color: #2F2F2F; 64 | } 65 | 66 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/GameView/GameViewInputSettings.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel; 3 | using UnityEngine; 4 | 5 | namespace UnityEditor.Recorder.Input 6 | { 7 | /// 8 | /// Use this class to record the frames rendered in the Game View window. 9 | /// 10 | [DisplayName("Game View")] 11 | [Serializable] 12 | public class GameViewInputSettings : StandardImageInputSettings 13 | { 14 | /// 15 | /// Use this property if you need to vertically flip the final output. 16 | /// 17 | public bool FlipFinalOutput 18 | { 19 | get { return flipFinalOutput; } 20 | set { flipFinalOutput = value; } 21 | } 22 | [SerializeField] private bool flipFinalOutput; 23 | 24 | /// 25 | /// Default constructor. 26 | /// 27 | public GameViewInputSettings() 28 | { 29 | outputImageHeight = ImageHeight.Window; 30 | } 31 | 32 | /// 33 | protected internal override Type InputType 34 | { 35 | get { return typeof(GameViewInput); } 36 | } 37 | 38 | /// 39 | public override bool SupportsTransparent 40 | { 41 | get { return false; } 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/GameView/GameViewInputPropertyDrawer.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace UnityEditor.Recorder.Input 4 | { 5 | [CustomPropertyDrawer(typeof(GameViewInputSettings))] 6 | class GameViewInputPropertyDrawer : InputPropertyDrawer 7 | { 8 | SerializedProperty m_OutputResolution; 9 | 10 | static class Styles 11 | { 12 | internal static readonly GUIContent OutputResolutionLabel = new GUIContent("Output Resolution", "Allows you to set the dimensions of the recorded output using different methods.\n\nIf you select a predefined vertical resolution, you must also select a specific Aspect Ratio."); 13 | } 14 | 15 | protected override void Initialize(SerializedProperty property) 16 | { 17 | if (target != null) 18 | return; 19 | 20 | base.Initialize(property); 21 | 22 | m_OutputResolution = property.FindPropertyRelative("m_OutputResolution"); 23 | } 24 | 25 | public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) 26 | { 27 | Initialize(property); 28 | --EditorGUI.indentLevel; 29 | EditorGUILayout.PropertyField(m_OutputResolution, Styles.OutputResolutionLabel); 30 | ++EditorGUI.indentLevel; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Editor/Sources/Resources/Styles/recorder_lightSkin.uss: -------------------------------------------------------------------------------- 1 | .RecorderListHeader { 2 | background-color: #DEDEDE; 3 | border-color: #747474; 4 | } 5 | 6 | .RecorderListHeader:hover { 7 | background-color: #F4F4F4; 8 | } 9 | 10 | #presetButton:hover { 11 | background-color: #F4F4F4; 12 | } 13 | 14 | .StandardPanel { 15 | border-color: #CCCCCC; 16 | } 17 | 18 | RecorderItem { 19 | background-color: #D4D4D4; 20 | border-color: #949494; 21 | } 22 | 23 | RecorderItem.selected { 24 | background-color: #F4F4F4; 25 | border-color: #A2A2A2; 26 | } 27 | 28 | #recorderList:focus > * > RecorderItem.selected { 29 | background-color: #afc5d0; 30 | border-color: #4097C3; 31 | } 32 | 33 | RecorderItem.disabled { 34 | background-color: #A0A0A0; 35 | } 36 | 37 | RecorderItem.disabled.selected { 38 | background-color: #F4F4F4; 39 | } 40 | 41 | RecorderItem.hasErrors { 42 | background-color: #F08080; 43 | } 44 | 45 | RecorderItem.hasErrors.selected { 46 | background-color: #F02020; 47 | } 48 | 49 | RecorderItem > EditableLabel > * { 50 | color: #303030; 51 | } 52 | 53 | RecorderItem.selected > EditableLabel > * { 54 | color: #000000; 55 | } 56 | 57 | PanelSplitter { 58 | background-color: #A2A2A2; 59 | border-color: #CCCCCC; 60 | } 61 | 62 | #statusBar { 63 | background-color: #A2A2A2; 64 | } 65 | 66 | #recordersPanel { 67 | background-color: #DEDEDE; 68 | } 69 | 70 | -------------------------------------------------------------------------------- /Documentation~/InclCaptureOptionsGameView.md: -------------------------------------------------------------------------------- 1 | 2 | ### Game View 3 | 4 | These properties appear when you set **Source** to **Game View**. 5 | 6 | >[!NOTE] 7 | >* If you have multiple Game Views in your project, the Recorder captures only the last one you selected in the Editor. 8 | >* If you are using more than one Recorder to capture Game View, they must all use the same resolution settings. 9 | 10 | ![](Images/CaptureOptionsGameView.png) 11 | 12 | |Property||Function| 13 | |-|-|-| 14 | | **Output Resolution** || Allows you to set the dimensions of the recorded view using different methods. | 15 | | | Match Window Size | Matches the resolution and aspect ratio of the currently selected Game View. | 16 | | | _[PRESET RESOLUTIONS]_ | Choose from several standard video resolutions such as FHD (1080p) and 4K (2160p).

The numeric value represents the image height. To set the image width, you must select a specific **Aspect Ratio**. | 17 | | | Custom | Uses custom width and height values that you supply in the **W** and **H** fields. | 18 | | **Aspect Ratio** || Specifies the ratio of width to height (w:h) of the recorded view when you set the **Output Resolution** to a preset resolution. | 19 | | | _[PRESET ASPECT RATIOS]_ | Choose from several standard aspect ratios such as 16:9 (1.7778) and 4:3 (1.3333). | 20 | | | Custom | Uses custom aspect ratio that you supply in the displayed fields (w:h). | 21 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/PNG/PNGRecorder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEditor.Recorder.FrameCapturer 4 | { 5 | class PNGRecorder : GenericRecorder 6 | { 7 | fcAPI.fcPngContext m_ctx; 8 | 9 | protected internal override bool BeginRecording(RecordingSession session) 10 | { 11 | if (!base.BeginRecording(session)) { return false; } 12 | 13 | Settings.fileNameGenerator.CreateDirectory(session); 14 | 15 | m_ctx = fcAPI.fcPngCreateContext(ref Settings.m_PngEncoderSettings); 16 | return m_ctx; 17 | } 18 | 19 | protected internal override void EndRecording(RecordingSession session) 20 | { 21 | m_ctx.Release(); 22 | base.EndRecording(session); 23 | } 24 | 25 | protected internal override void RecordFrame(RecordingSession session) 26 | { 27 | if (m_Inputs.Count != 1) 28 | throw new Exception("Unsupported number of sources"); 29 | 30 | var input = (BaseRenderTextureInput)m_Inputs[0]; 31 | var frame = input.OutputRenderTexture; 32 | var path = Settings.fileNameGenerator.BuildAbsolutePath(session); 33 | 34 | fcAPI.fcLock(frame, (data, fmt) => 35 | { 36 | fcAPI.fcPngExportPixels(m_ctx, path, data, frame.width, frame.height, fmt, 0); 37 | }); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Documentation~/InclCaptureOptions360View.md: -------------------------------------------------------------------------------- 1 | 2 | ### 360 View 3 | 4 | These properties appear when you set **Source** to **360 View**. 5 | 6 | To capture 360 degree recordings, the Recorder rotates the **Camera** 360 degrees around its **Y** axis. 7 | 8 | ![](Images/CaptureOptions360View.png) 9 | 10 | |Property||Function| 11 | |-|-|-| 12 | | **Camera** || Specifies which camera the Recorder uses to capture the 360 degree recording. | 13 | | | MainCamera | The Camera tagged with the MainCamera [Tag](https://docs.unity3d.com/Manual/Tags.html). | 14 | | | TaggedCamera | A camera tagged with a specific [Tag](https://docs.unity3d.com/Manual/Tags.html).

If you select this option, you must enter a value in the **Tag** field. | 15 | |**Tag** | | Specifies which Camera Tag to look for when you set **Camera** to **Tagged Camera**.| 16 | | **Output Dimensions** || **W** and **H** specify the width and height, in pixels, of the 360-degree video. | 17 | | **Cube Map Size** || The side length of the cube map, in pixels, for the 360-degree video. | 18 | | **Record in Stereo** || Use this option to record separate left and right stereoscopic views of the 360-degree video.

The Recorder includes both views in the same image: left view at the top and right view at the bottom. | 19 | | **Stereo Separation** || When you select **Record in Stereo**, this is the angle between the left and right views on the selected **Camera**'s **Y** axis. | 20 | -------------------------------------------------------------------------------- /Editor/Sources/Helpers/SerializableObjHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq.Expressions; 3 | 4 | namespace UnityEditor.Recorder 5 | { 6 | static class SerializableObjHelper 7 | { 8 | public static SerializedProperty FindPropertyRelative(this SerializedProperty obj, Expression> exp) 9 | { 10 | var body = exp.Body as MemberExpression; 11 | if (body == null) 12 | { 13 | var ubody = (UnaryExpression)exp.Body; 14 | body = ubody.Operand as MemberExpression; 15 | } 16 | 17 | var name = body.Member.Name; 18 | 19 | return obj.FindPropertyRelative(name); 20 | } 21 | } 22 | 23 | class PropertyFinder where TType : class 24 | { 25 | SerializedObject m_Obj; 26 | public PropertyFinder(SerializedObject obj) 27 | { 28 | m_Obj = obj; 29 | } 30 | 31 | public delegate TResult FuncX(TType x); 32 | public SerializedProperty Find(Expression> exp) 33 | { 34 | var body = exp.Body as MemberExpression; 35 | if (body == null) 36 | { 37 | var ubody = (UnaryExpression)exp.Body; 38 | body = ubody.Operand as MemberExpression; 39 | } 40 | 41 | var name = body.Member.Name; 42 | 43 | return m_Obj.FindProperty(name); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Documentation~/RecorderProperties.md: -------------------------------------------------------------------------------- 1 | # Recorder properties 2 | 3 | The way to set up the properties of a Recorder is the same whether you do it for a Recorder selected in the list of the [Recorder window](RecordingRecorderWindow.md) or in the Inspector of a [Timeline Recorder Clip](RecordingTimelineTrack.md). 4 | 5 | ## Generic properties 6 | 7 | All types of Recorders have [**Output File properties**](OutputFileProperties.md). 8 | 9 | These specify the name, path, and other data for the files the Recorder outputs. 10 | 11 | ## Recorder-specific properties 12 | 13 | Each type of Recorder has specific **Capture** and **Format** properties you must set to specify what you want to record, and how. For example, a Recorder that captures via a Camera needs to know which Camera to use. 14 | 15 | - [**Animation Clip Recorder properties**](RecorderAnimation.md) 16 | 17 | - [**Movie Recorder properties**](RecorderMovie.md) 18 | 19 | - [**Image Sequence Recorder properties**](RecorderImage.md) 20 | 21 | - [**GIF Animation Recorder properties**](RecorderGif.md) 22 | 23 | - [**Audio Recorder properties**](RecorderAudio.md) 24 | 25 | ## Recorder presets 26 | 27 | After you set Recorder properties, you can save them as a [Recorder Preset](RecorderManage.md#creating-recorder-presets). If you've already saved the configuration you want as a Recorder Preset, you can load it instead of setting the Recorder properties. 28 | 29 | >**Note:** Recorder properties are not available in standalone Unity Players or builds. 30 | -------------------------------------------------------------------------------- /Tests/Runtime/TimelineDataTests.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | using UnityEditor.Recorder.Timeline; 3 | using UnityEngine.Playables; 4 | using UnityEngine.Timeline; 5 | 6 | namespace UnityEngine.Recorder.Tests 7 | { 8 | class TimelineFixture : BaseFixture 9 | { 10 | protected PlayableDirector director; 11 | protected GameObject cube; 12 | protected TimelineClip recorderClip; 13 | protected TimelineAsset recorderTimeline; 14 | 15 | [SetUp] 16 | public new void SetUp() 17 | { 18 | var curve = AnimationCurve.Linear(0, 0, 10, 10); 19 | var clip = new AnimationClip {hideFlags = HideFlags.DontSave}; 20 | clip.SetCurve("", typeof(Transform), "localPosition.x", curve); 21 | recorderTimeline = ScriptableObject.CreateInstance(); 22 | recorderTimeline.hideFlags = HideFlags.DontSave; 23 | var aTrack = recorderTimeline.CreateTrack(null, "CubeAnimation"); 24 | aTrack.CreateClip(clip).displayName = "CubeClip"; 25 | 26 | cube = GameObject.CreatePrimitive(PrimitiveType.Cube); 27 | cube.AddComponent(); 28 | director = cube.AddComponent(); 29 | director.playableAsset = recorderTimeline; 30 | director.SetGenericBinding(aTrack, cube); 31 | 32 | recorderClip = recorderTimeline.CreateTrack(null, "RecorderTrack").CreateDefaultClip(); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Editor/ProRes/ProResWrapper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.InteropServices; 3 | using System.Text; 4 | 5 | struct ProResWrapperInfo 6 | { 7 | #if UNITY_EDITOR_WIN 8 | public const string LibraryPath = "ProResWrapper"; 9 | #elif UNITY_EDITOR_OSX 10 | public const string LibraryPath = "Packages/com.unity.recorder/Plugins/macOS/AVFoundationWrapper.bundle"; 11 | #else 12 | public const string LibraryPath = "N/A"; 13 | #endif 14 | } 15 | 16 | // This is public so that the tests can use the call to test for OS support of a codec format 17 | struct ProResWrapperHelpers 18 | { 19 | #if UNITY_EDITOR_OSX 20 | [DllImport(ProResWrapperInfo.LibraryPath, CallingConvention = CallingConvention.Cdecl)] 21 | public static extern bool SupportsCodecFormat(int codecType, StringBuilder errorMsg, int errorMsgLen); 22 | #endif 23 | } 24 | 25 | internal struct ProResWrapper 26 | { 27 | [DllImport(ProResWrapperInfo.LibraryPath)] 28 | public static extern IntPtr Create(string sMetadata, string sFileName, int width, int height, float fps, bool hasAudio, float fAudioSamplingRate, int codecType, bool hasTransparency, int colorDesc); 29 | [DllImport(ProResWrapperInfo.LibraryPath)] 30 | public static extern bool AddVideoFrame(IntPtr pEncoder, byte[] pixels); 31 | [DllImport(ProResWrapperInfo.LibraryPath)] 32 | public static extern bool AddAudioSamples(IntPtr pEncoder, float[] samples, int numSamples); 33 | [DllImport(ProResWrapperInfo.LibraryPath)] 34 | public static extern bool Close(IntPtr pEncoder); 35 | } 36 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.unity.recorder", 3 | "displayName": "Unity Recorder", 4 | "version": "2.4.0-preview.1", 5 | "unity": "2018.4", 6 | "unityRelease": "4f1", 7 | "dependencies": { 8 | "com.unity.timeline": "1.0.0" 9 | }, 10 | "description": "Unity Recorder allows the recording of Animation clips, Videos and Images directly from the Unity Editor.", 11 | "keywords": [ 12 | "unity", 13 | "recorder", 14 | "recording", 15 | "capture", 16 | "video", 17 | "animation", 18 | "clip", 19 | "images" 20 | ], 21 | "upmCi": { 22 | "footprint": "7d3cf193732bd6fb260728a3c2c8f28767f67956" 23 | }, 24 | "repository": { 25 | "url": "https://github.com/Unity-Technologies/com.unity.recorder.git", 26 | "type": "git", 27 | "revision": "ef969cea4748dd7791643afcad54e6e69a3811a0" 28 | }, 29 | "samples": [ 30 | { 31 | "displayName": "Screenshot Capture Sample", 32 | "description": "This example shows how to setup a recording session via script.", 33 | "path": "Samples~/CaptureScreenShot" 34 | }, 35 | { 36 | "displayName": "Multiple Recordings Sample", 37 | "description": "This example shows how to setup a multiple recording session via script.", 38 | "path": "Samples~/MultipleRecordings" 39 | }, 40 | { 41 | "displayName": "Recorder Editor Sample", 42 | "description": "This example shows how to add \"Start Recording\" and \"Stop Recording\" menu items .", 43 | "path": "Samples~/RecorderEditor" 44 | } 45 | ] 46 | } 47 | -------------------------------------------------------------------------------- /Documentation~/RecorderDebugging.md: -------------------------------------------------------------------------------- 1 | # Debugging Recorders 2 | 3 | The Unity Recorder includes tools that can help you diagnose problems you may encounter during captures. 4 | 5 | ## Unity Recorder GameObjects 6 | 7 | The Unity Recorder adds a **Unity-RecorderSessions** GameObject to Scenes to help manage capture sessions. The **Unity-RecorderSessions** GameObject has Components that bind Recorders to GameObjects in your Scene, and store the progress of the current recording session. 8 | 9 | By default, Unity hides the **Unity-RecorderSessions** GameObject, but you can make it visible in the [Hierarchy window](https://docs.unity3d.com/Manual/Hierarchy.html). This is useful for debugging. For example, if a Recorder is not working properly, you can toggle the **Unity-RecorderSessions** GameObject on to make sure that Unity creates it properly when you launch the recording session. 10 | 11 | To toggle the Unity-RecorderSessions GameObject's visibility: 12 | 13 | - Select **Window > General > Recorder > Options > Show Recorder GameObject** from Unity's main menu. 14 | 15 | ## Recording in Verbose mode 16 | 17 | If your Recorders are not working as expected, you can activate Verbose mode to get diagnostic information about the recording (for example, the recording's start and end time). 18 | 19 | Verbose mode logs information to the [Console window](https://docs.unity3d.com/Manual/Console.html), which is useful when you want to troubleshoot. 20 | 21 | To toggle Verbose mode: 22 | 23 | - Select **Window > General > Recorder > Options > Verbose Mode** from Unity's main menu. 24 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts/Encoder/GIFEncoder.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | 4 | namespace UnityEditor.Recorder.FrameCapturer 5 | { 6 | class GIFEncoder : MovieEncoder 7 | { 8 | fcAPI.fcGifContext m_ctx; 9 | fcAPI.fcGifConfig m_config; 10 | 11 | public override void Release() { m_ctx.Release(); } 12 | public override bool IsValid() { return m_ctx; } 13 | public override Type type { get { return Type.Gif; } } 14 | 15 | public override void Initialize(object config, string outPath) 16 | { 17 | if (!fcAPI.fcGifIsSupported()) 18 | { 19 | Debug.LogError("Gif encoder is not available on this platform."); 20 | return; 21 | } 22 | 23 | m_config = (fcAPI.fcGifConfig)config; 24 | m_config.numColors = Mathf.Clamp(m_config.numColors, 1, 256); 25 | m_ctx = fcAPI.fcGifCreateContext(ref m_config); 26 | 27 | var path = outPath + ".gif"; 28 | var stream = fcAPI.fcCreateFileStream(path); 29 | fcAPI.fcGifAddOutputStream(m_ctx, stream); 30 | stream.Release(); 31 | } 32 | 33 | public override void AddVideoFrame(byte[] frame, fcAPI.fcPixelFormat format, double timestamp) 34 | { 35 | if (m_ctx) 36 | { 37 | fcAPI.fcGifAddFramePixels(m_ctx, frame, format, timestamp); 38 | } 39 | } 40 | 41 | public override void AddAudioSamples(float[] samples) 42 | { 43 | // not supported 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/BaseFCRecorderSettings.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | using UnityEditor.Recorder.Input; 4 | 5 | namespace UnityEditor.Recorder.FrameCapturer 6 | { 7 | /// 8 | public abstract class BaseFCRecorderSettings : RecorderSettings 9 | { 10 | [SerializeField] internal UTJImageInputSelector m_ImageInputSelector = new UTJImageInputSelector(); 11 | 12 | protected internal override bool ValidityCheck(List errors) 13 | { 14 | var ok = base.ValidityCheck(errors); 15 | return ok; 16 | } 17 | 18 | public ImageInputSettings imageInputSettings 19 | { 20 | get { return m_ImageInputSelector.imageInputSettings; } 21 | set { m_ImageInputSelector.imageInputSettings = value; } 22 | } 23 | 24 | public override bool IsPlatformSupported 25 | { 26 | get 27 | { 28 | return Application.platform == RuntimePlatform.WindowsEditor || 29 | Application.platform == RuntimePlatform.WindowsPlayer || 30 | Application.platform == RuntimePlatform.OSXEditor || 31 | Application.platform == RuntimePlatform.OSXPlayer || 32 | Application.platform == RuntimePlatform.LinuxEditor || 33 | Application.platform == RuntimePlatform.LinuxPlayer; 34 | } 35 | } 36 | 37 | public override IEnumerable InputsSettings 38 | { 39 | get { yield return m_ImageInputSelector.Selected; } 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts/Encoder/MP4Encoder.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | 4 | namespace UnityEditor.Recorder.FrameCapturer 5 | { 6 | class MP4Encoder : MovieEncoder 7 | { 8 | fcAPI.fcMP4Context m_ctx; 9 | fcAPI.fcMP4Config m_config; 10 | 11 | public override void Release() { m_ctx.Release(); } 12 | public override bool IsValid() { return m_ctx; } 13 | public override Type type { get { return Type.MP4; } } 14 | 15 | public override void Initialize(object config, string outPath) 16 | { 17 | if (!fcAPI.fcMP4OSIsSupported()) 18 | { 19 | Debug.LogError("MP4 encoder is not available on this platform."); 20 | return; 21 | } 22 | 23 | m_config = (fcAPI.fcMP4Config)config; 24 | m_config.audioSampleRate = AudioSettings.outputSampleRate; 25 | m_config.audioNumChannels = fcAPI.fcGetNumAudioChannels(); 26 | 27 | var path = outPath + ".mp4"; 28 | m_ctx = fcAPI.fcMP4OSCreateContext(ref m_config, path); 29 | } 30 | 31 | public override void AddVideoFrame(byte[] frame, fcAPI.fcPixelFormat format, double timestamp) 32 | { 33 | if (m_ctx && m_config.video) 34 | { 35 | fcAPI.fcMP4AddVideoFramePixels(m_ctx, frame, format, timestamp); 36 | } 37 | } 38 | 39 | public override void AddAudioSamples(float[] samples) 40 | { 41 | if (m_ctx && m_config.audio) 42 | { 43 | fcAPI.fcMP4AddAudioSamples(m_ctx, samples, samples.Length); 44 | } 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts/Encoder/PNGEncoder.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | 4 | namespace UnityEditor.Recorder.FrameCapturer 5 | { 6 | class PNGEncoder : MovieEncoder 7 | { 8 | fcAPI.fcPngContext m_ctx; 9 | fcAPI.fcPngConfig m_config; 10 | string m_outPath; 11 | int m_frame; 12 | 13 | 14 | public override void Release() { m_ctx.Release(); } 15 | public override bool IsValid() { return m_ctx; } 16 | public override Type type { get { return Type.Png; } } 17 | 18 | public override void Initialize(object config, string outPath) 19 | { 20 | if (!fcAPI.fcPngIsSupported()) 21 | { 22 | Debug.LogError("Png encoder is not available on this platform."); 23 | return; 24 | } 25 | 26 | m_config = (fcAPI.fcPngConfig)config; 27 | m_ctx = fcAPI.fcPngCreateContext(ref m_config); 28 | m_outPath = outPath; 29 | m_frame = 0; 30 | } 31 | 32 | public override void AddVideoFrame(byte[] frame, fcAPI.fcPixelFormat format, double timestamp = -1.0) 33 | { 34 | if (m_ctx) 35 | { 36 | string path = m_outPath + "_" + m_frame.ToString("0000") + ".png"; 37 | int channels = System.Math.Min(m_config.channels, (int)format & 7); 38 | fcAPI.fcPngExportPixels(m_ctx, path, frame, m_config.width, m_config.height, format, channels); 39 | } 40 | ++m_frame; 41 | } 42 | 43 | public override void AddAudioSamples(float[] samples) 44 | { 45 | // not supported 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Plugins/x64/ProResWrapper.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 331c5756373c2ec47a44ecb0d9b9f656 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 1 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | CPU: x86_64 25 | DefaultValueInitialized: true 26 | - first: 27 | Facebook: Win 28 | second: 29 | enabled: 0 30 | settings: 31 | CPU: None 32 | - first: 33 | Facebook: Win64 34 | second: 35 | enabled: 1 36 | settings: 37 | CPU: AnyCPU 38 | - first: 39 | Standalone: Linux 40 | second: 41 | enabled: 0 42 | settings: 43 | CPU: None 44 | - first: 45 | Standalone: Linux64 46 | second: 47 | enabled: 1 48 | settings: 49 | CPU: x86_64 50 | - first: 51 | Standalone: LinuxUniversal 52 | second: 53 | enabled: 1 54 | settings: 55 | CPU: x86_64 56 | - first: 57 | Standalone: OSXUniversal 58 | second: 59 | enabled: 0 60 | settings: 61 | CPU: x86_64 62 | - first: 63 | Standalone: Win 64 | second: 65 | enabled: 0 66 | settings: 67 | CPU: None 68 | - first: 69 | Standalone: Win64 70 | second: 71 | enabled: 1 72 | settings: 73 | CPU: AnyCPU 74 | userData: 75 | assetBundleName: 76 | assetBundleVariant: 77 | -------------------------------------------------------------------------------- /Runtime/Base/RefHandle.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.InteropServices; 3 | 4 | namespace Unity.Media 5 | { 6 | public class RefHandle : IDisposable 7 | where T : class 8 | { 9 | public bool IsCreated { get { return m_Handle.IsAllocated; } } 10 | 11 | public T Target 12 | { 13 | get 14 | { 15 | if (!IsCreated) 16 | return null; 17 | 18 | return m_Handle.Target as T; 19 | } 20 | 21 | set 22 | { 23 | if (IsCreated) 24 | m_Handle.Free(); 25 | 26 | if (value != null) 27 | m_Handle = GCHandle.Alloc(value, GCHandleType.Normal); 28 | } 29 | } 30 | 31 | GCHandle m_Handle; 32 | private bool Disposed = false; 33 | 34 | public RefHandle() 35 | { 36 | } 37 | 38 | public RefHandle(T target) 39 | { 40 | m_Handle = new GCHandle(); 41 | Target = target; 42 | } 43 | 44 | public void Dispose() 45 | { 46 | Dispose(true); 47 | GC.SuppressFinalize(this); 48 | } 49 | 50 | public void Dispose(bool disposing) 51 | { 52 | if (Disposed) 53 | return; 54 | 55 | if (disposing) 56 | { 57 | // Free any other managed objects here. 58 | } 59 | 60 | // Free any unmanaged objects here. 61 | if (IsCreated) 62 | m_Handle.Free(); 63 | 64 | Disposed = true; 65 | } 66 | 67 | ~RefHandle() 68 | { 69 | Dispose(false); 70 | } 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Animation/AnimationInput.cs: -------------------------------------------------------------------------------- 1 | #if UNITY_2018_3_OR_NEWER 2 | using UnityEditor.Animations; 3 | #else 4 | using UnityEditor.Experimental.Animations; 5 | #endif 6 | 7 | namespace UnityEditor.Recorder.Input 8 | { 9 | /// 10 | /// Use this class to record animations in the scene in the Unity native format. 11 | /// 12 | public class AnimationInput : RecorderInput 13 | { 14 | /// 15 | /// Indicates the internal GameObject Recorder to use for the capture. 16 | /// 17 | public GameObjectRecorder GameObjectRecorder { get; private set; } 18 | float m_Time; 19 | 20 | /// 21 | protected internal override void BeginRecording(RecordingSession session) 22 | { 23 | var aniSettings = (AnimationInputSettings)settings; 24 | 25 | var srcGO = aniSettings.gameObject; 26 | 27 | if (srcGO == null) 28 | throw new System.NullReferenceException("srcGO"); 29 | 30 | GameObjectRecorder = new GameObjectRecorder(srcGO); 31 | 32 | foreach (var binding in aniSettings.bindingType) 33 | { 34 | GameObjectRecorder.BindComponentsOfType(srcGO, binding, aniSettings.Recursive); 35 | } 36 | 37 | m_Time = session.recorderTime; 38 | } 39 | 40 | /// 41 | protected internal override void NewFrameReady(RecordingSession session) 42 | { 43 | if (GameObjectRecorder != null && session.isRecording) 44 | { 45 | GameObjectRecorder.TakeSnapshot(session.recorderTime - m_Time); 46 | m_Time = session.recorderTime; 47 | } 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /Editor/Sources/CameraCapture.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.Rendering; 5 | 6 | namespace UnityEditor.Recorder.Input 7 | { 8 | internal static class CameraCapture 9 | { 10 | private static Dictionary>> actionDict = 11 | new Dictionary>>(); 12 | 13 | public static IEnumerator> GetActions(Camera camera) 14 | { 15 | HashSet> actions; 16 | if (!actionDict.TryGetValue(camera, out actions)) 17 | return null; 18 | 19 | return actions.GetEnumerator(); 20 | } 21 | 22 | public static void AddCaptureAction(Camera camera, Action action) 23 | { 24 | HashSet> actions = null; 25 | actionDict.TryGetValue(camera, out actions); 26 | if (actions == null) 27 | { 28 | actions = new HashSet>(); 29 | actionDict.Add(camera, actions); 30 | } 31 | actions.Add(action); 32 | } 33 | 34 | public static void RemoveCaptureAction(Camera camera, Action action) 35 | { 36 | if (camera == null) 37 | return; 38 | 39 | HashSet> actions; 40 | if (actionDict.TryGetValue(camera, out actions)) 41 | actions.Remove(action); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/EXR/EXRRecorder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace UnityEditor.Recorder.FrameCapturer 4 | { 5 | class EXRRecorder : GenericRecorder 6 | { 7 | static readonly string[] s_channelNames = { "R", "G", "B", "A" }; 8 | fcAPI.fcExrContext m_ctx; 9 | 10 | protected internal override bool BeginRecording(RecordingSession session) 11 | { 12 | if (!base.BeginRecording(session)) { return false; } 13 | 14 | Settings.fileNameGenerator.CreateDirectory(session); 15 | 16 | m_ctx = fcAPI.fcExrCreateContext(ref Settings.m_ExrEncoderSettings); 17 | return m_ctx; 18 | } 19 | 20 | protected internal override void EndRecording(RecordingSession session) 21 | { 22 | m_ctx.Release(); 23 | base.EndRecording(session); 24 | } 25 | 26 | protected internal override void RecordFrame(RecordingSession session) 27 | { 28 | if (m_Inputs.Count != 1) 29 | throw new Exception("Unsupported number of sources"); 30 | 31 | var path = Settings.fileNameGenerator.BuildAbsolutePath(session); 32 | 33 | var input = (BaseRenderTextureInput)m_Inputs[0]; 34 | var frame = input.OutputRenderTexture; 35 | fcAPI.fcLock(frame, (data, fmt) => 36 | { 37 | fcAPI.fcExrBeginImage(m_ctx, path, frame.width, frame.height); 38 | int channels = (int)fmt & 7; 39 | for (int i = 0; i < channels; ++i) 40 | { 41 | fcAPI.fcExrAddLayerPixels(m_ctx, data, fmt, i, s_channelNames[i]); 42 | } 43 | fcAPI.fcExrEndImage(m_ctx); 44 | }); 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/Camera/Shaders/MakeOpaque.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/Recorder/Inputs/MakeOpaque" { 2 | Properties 3 | { 4 | _MainTex ("Texture", any) = "" {} 5 | _Color("Multiplicative color", Color) = (1.0, 1.0, 1.0, 1.0) 6 | } 7 | SubShader { 8 | Pass { 9 | ZTest Always Cull Off ZWrite Off 10 | 11 | CGPROGRAM 12 | #pragma vertex vert 13 | #pragma fragment frag 14 | #include "UnityCG.cginc" 15 | 16 | UNITY_DECLARE_SCREENSPACE_TEXTURE(_MainTex); 17 | uniform float4 _MainTex_ST; 18 | uniform float4 _Color; 19 | 20 | struct appdata_t { 21 | float4 vertex : POSITION; 22 | float2 texcoord : TEXCOORD0; 23 | UNITY_VERTEX_INPUT_INSTANCE_ID 24 | }; 25 | 26 | struct v2f { 27 | float4 vertex : SV_POSITION; 28 | float2 texcoord : TEXCOORD0; 29 | UNITY_VERTEX_OUTPUT_STEREO 30 | }; 31 | 32 | v2f vert (appdata_t v) 33 | { 34 | v2f o; 35 | UNITY_SETUP_INSTANCE_ID(v); 36 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); 37 | o.vertex = UnityObjectToClipPos(v.vertex); 38 | o.texcoord = TRANSFORM_TEX(v.texcoord.xy, _MainTex); 39 | return o; 40 | } 41 | 42 | fixed4 frag (v2f i) : SV_Target 43 | { 44 | UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i); 45 | fixed4 result = UNITY_SAMPLE_SCREENSPACE_TEXTURE(_MainTex, i.texcoord) * _Color; 46 | result.a = 1.0; 47 | return result; 48 | } 49 | ENDCG 50 | 51 | } 52 | } 53 | Fallback Off 54 | } 55 | -------------------------------------------------------------------------------- /Documentation~/RecordingRecorderWindow.md: -------------------------------------------------------------------------------- 1 | # Recording from the Recorder window 2 | 3 | The Recorder window allows you to set up a list of Recorders to capture and export various types of data from your current Scene, in Play mode. This window includes recording controls that allow you to start and stop your recordings according to a specified frame or time interval, or manually. 4 | 5 | > **Note:** If you installed [Timeline](https://docs.unity3d.com/Packages/com.unity.timeline@latest), you can control your recordings through [Recorder Clips](RecordingTimelineTrack.md) in Timeline tracks instead of using the Recorder window. 6 | 7 | ## Opening the Recorder window 8 | 9 | From the Editor main menu, select **Window > General > Recorder > Recorder window**. 10 | 11 | > **Note:** When you open the **Recorder** window, Unity restores the values from the last recording session. 12 | 13 | ## Recorder window overview 14 | 15 | ![](Images/RecorderWindow.png) 16 | 17 | ### ![](Images/Label-A.png) General recording properties 18 | 19 | Use this section to simultaneously [start or stop recordings](RecorderWindowRecordingProperties.md) for all active Recorders of the Recorder List. You can specify the recording duration and frame rate. 20 | 21 | ### ![](Images/Label-B.png) Recorder list 22 | 23 | Use this section to [create and manage your list of Recorders](RecorderManage.md). You can use more than one Recorder at the same time to capture Play-mode data. Each Recorder controls a single recording, and its properties depend on the type of data to record and the type of output to generate. 24 | 25 | ### ![](Images/Label-C.png) Recorder properties 26 | 27 | Use this section to [set up the properties of a Recorder](RecorderProperties.md) selected in the Recorder list. Recorder properties include Capture, Format and Output File properties. 28 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/MP4/MP4RecorderSettingsEditor.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace UnityEditor.Recorder.FrameCapturer 4 | { 5 | [CustomEditor(typeof(MP4RecorderSettings))] 6 | class MP4RecorderSettingsEditor : RecorderEditor 7 | { 8 | SerializedProperty m_VideoBitRateMode; 9 | SerializedProperty m_VideoBitRate; 10 | SerializedProperty m_VideoMaxTasks; 11 | SerializedProperty m_AutoSelectBR; 12 | 13 | protected override void OnEnable() 14 | { 15 | base.OnEnable(); 16 | 17 | if (target == null) 18 | return; 19 | 20 | var pf = new PropertyFinder(serializedObject); 21 | var encoding = pf.Find(w => w.m_MP4EncoderSettings); 22 | var settings = target as MP4RecorderSettings; 23 | m_VideoBitRateMode = encoding.FindPropertyRelative(() => settings.m_MP4EncoderSettings.videoBitrateMode); 24 | m_VideoBitRate = encoding.FindPropertyRelative(() => settings.m_MP4EncoderSettings.videoTargetBitrate); 25 | m_VideoMaxTasks = encoding.FindPropertyRelative(() => settings.m_MP4EncoderSettings.videoMaxTasks); 26 | m_AutoSelectBR = pf.Find(w => w.m_AutoSelectBR); 27 | } 28 | 29 | protected override void OnEncodingGui() 30 | { 31 | EditorGUILayout.PropertyField(m_VideoBitRateMode, new GUIContent("Bitrate mode"), true); 32 | EditorGUILayout.PropertyField(m_AutoSelectBR, new GUIContent("Autoselect bitrate"), true); 33 | using (new EditorGUI.DisabledScope(m_AutoSelectBR.boolValue)) 34 | EditorGUILayout.PropertyField(m_VideoBitRate, new GUIContent("Bitrate (bps)"), true); 35 | EditorGUILayout.PropertyField(m_VideoMaxTasks, new GUIContent("Max tasks"), true); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Editor/Sources/OutputResolution.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEditor.Recorder.Input; 3 | using UnityEngine; 4 | 5 | namespace UnityEditor.Recorder 6 | { 7 | [Serializable] 8 | class OutputResolution 9 | { 10 | [SerializeField] int m_CustomWidth = 1024; 11 | [SerializeField] int m_CustomHeight = 1024; 12 | 13 | [SerializeField] internal ImageHeight imageHeight = ImageHeight.x720p_HD; 14 | [SerializeField] internal ImageHeight maxSupportedHeight = ImageHeight.x4320p_8K; 15 | 16 | [SerializeField] AspectRatio m_AspectRatio = new AspectRatio(); 17 | 18 | public int GetWidth() 19 | { 20 | if (imageHeight == ImageHeight.Custom) 21 | return m_CustomWidth; 22 | 23 | if (imageHeight == ImageHeight.Window) 24 | { 25 | int w, h; 26 | GameViewSize.GetGameRenderSize(out w, out h); 27 | return w; 28 | } 29 | 30 | var aspect = m_AspectRatio.GetAspect(); 31 | return (int)(aspect * (int)imageHeight); 32 | } 33 | 34 | public int GetHeight() 35 | { 36 | if (imageHeight == ImageHeight.Custom) 37 | return m_CustomHeight; 38 | 39 | if (imageHeight == ImageHeight.Window) 40 | { 41 | int w, h; 42 | GameViewSize.GetGameRenderSize(out w, out h); 43 | return h; 44 | } 45 | 46 | return (int)imageHeight; 47 | } 48 | 49 | public void SetWidth(int w) 50 | { 51 | imageHeight = ImageHeight.Custom; 52 | m_CustomWidth = w; 53 | } 54 | 55 | public void SetHeight(int h) 56 | { 57 | imageHeight = ImageHeight.Custom; 58 | m_CustomHeight = h; 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Inputs/RenderTextureSampler/Shaders/BS4Accumulate.shader: -------------------------------------------------------------------------------- 1 | // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' 2 | 3 | Shader "Hidden/BeautyShot/Accumulate" { 4 | Properties { 5 | _MainTex("Diffuse", 2D) = "white" {} 6 | _OfsX("OfsX", Float) = 0 7 | _OfsY("OfsY", Float) = 0 8 | _Width("Width", Float) = 1 9 | _Height("Height", Float) = 1 10 | _Scale("Scale", Float) = 1 11 | _Pass("Pass", int) = 0 12 | } 13 | 14 | CGINCLUDE 15 | 16 | // FIXME: Had to comment out to make it work on OSX. Needs to be revised. 17 | // #pragma only_renderers d3d11 ps4 opengl 18 | 19 | #include "UnityCG.cginc" 20 | 21 | struct v2f { 22 | float4 pos : SV_Position; 23 | float2 uv : TEXCOORD0; 24 | }; 25 | 26 | v2f vert(appdata_img v) { 27 | v2f o; 28 | o.pos = UnityObjectToClipPos(v.vertex); 29 | o.uv = v.texcoord; 30 | return o; 31 | } 32 | 33 | uniform sampler2D _MainTex; 34 | uniform float4 _MainTex_TexelSize; 35 | 36 | uniform sampler2D _PreviousTexture; 37 | Float _OfsX; 38 | Float _OfsY; 39 | Float _Width; 40 | Float _Height; 41 | Float _Scale; 42 | int _Pass; 43 | 44 | float4 frag(v2f i) : SV_Target { 45 | float4 previous = tex2D(_PreviousTexture, i.uv); 46 | float2 tmp = i.uv; 47 | float4 current = {0,0,0,0}; 48 | if( i.uv.x >= _OfsX && i.uv.x <= (_OfsX+ _Width) && i.uv.y >= _OfsY && i.uv.y <= (_OfsY + _Height)) 49 | { 50 | tmp.x = (tmp.x - _OfsX) / _Scale; 51 | tmp.y = (tmp.y - _OfsY) / _Scale; 52 | current = tex2D(_MainTex, tmp); 53 | 54 | if (_Pass == 0) 55 | return current; 56 | else 57 | return previous + current; 58 | } 59 | else 60 | return previous; 61 | } 62 | 63 | ENDCG 64 | 65 | SubShader { 66 | Cull Off ZTest Always ZWrite Off 67 | 68 | Pass { 69 | CGPROGRAM 70 | #pragma vertex vert 71 | #pragma fragment frag 72 | ENDCG 73 | } 74 | }} -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Plugins/x86_64/Linux/libfccore.so.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0af7abacc99baea51b0926dac109b024 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 1 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | '': Any 16 | second: 17 | enabled: 0 18 | settings: 19 | Exclude Editor: 0 20 | Exclude Linux: 1 21 | Exclude Linux64: 1 22 | Exclude LinuxUniversal: 1 23 | Exclude OSXUniversal: 1 24 | Exclude Win: 1 25 | Exclude Win64: 1 26 | - first: 27 | Any: 28 | second: 29 | enabled: 0 30 | settings: {} 31 | - first: 32 | Editor: Editor 33 | second: 34 | enabled: 1 35 | settings: 36 | CPU: x86_64 37 | DefaultValueInitialized: true 38 | OS: Linux 39 | - first: 40 | Facebook: Win 41 | second: 42 | enabled: 0 43 | settings: 44 | CPU: AnyCPU 45 | - first: 46 | Facebook: Win64 47 | second: 48 | enabled: 0 49 | settings: 50 | CPU: AnyCPU 51 | - first: 52 | Standalone: Linux 53 | second: 54 | enabled: 0 55 | settings: 56 | CPU: x86 57 | - first: 58 | Standalone: Linux64 59 | second: 60 | enabled: 0 61 | settings: 62 | CPU: AnyCPU 63 | - first: 64 | Standalone: OSXUniversal 65 | second: 66 | enabled: 0 67 | settings: 68 | CPU: AnyCPU 69 | - first: 70 | Standalone: Win 71 | second: 72 | enabled: 0 73 | settings: 74 | CPU: AnyCPU 75 | - first: 76 | Standalone: Win64 77 | second: 78 | enabled: 0 79 | settings: 80 | CPU: AnyCPU 81 | userData: 82 | assetBundleName: 83 | assetBundleVariant: 84 | -------------------------------------------------------------------------------- /Editor/Sources/Recorders/_Legacy/FrameCapturer/Scripts/Encoder/EXREncoder.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | 4 | namespace UnityEditor.Recorder.FrameCapturer 5 | { 6 | class EXREncoder : MovieEncoder 7 | { 8 | static readonly string[] s_channelNames = { "R", "G", "B", "A" }; 9 | fcAPI.fcExrContext m_ctx; 10 | fcAPI.fcExrConfig m_config; 11 | string m_outPath; 12 | int m_frame; 13 | 14 | public override void Release() { m_ctx.Release(); } 15 | public override bool IsValid() { return m_ctx; } 16 | public override Type type { get { return Type.Exr; } } 17 | 18 | public override void Initialize(object config, string outPath) 19 | { 20 | if (!fcAPI.fcExrIsSupported()) 21 | { 22 | Debug.LogError("Exr encoder is not available on this platform."); 23 | return; 24 | } 25 | 26 | m_config = (fcAPI.fcExrConfig)config; 27 | m_ctx = fcAPI.fcExrCreateContext(ref m_config); 28 | m_outPath = outPath; 29 | m_frame = 0; 30 | } 31 | 32 | public override void AddVideoFrame(byte[] frame, fcAPI.fcPixelFormat format, double timestamp = -1.0) 33 | { 34 | if (m_ctx) 35 | { 36 | string path = m_outPath + "_" + m_frame.ToString("0000") + ".exr"; 37 | int channels = System.Math.Min(m_config.channels, (int)format & 7); 38 | 39 | fcAPI.fcExrBeginImage(m_ctx, path, m_config.width, m_config.height); 40 | for (int i = 0; i < channels; ++i) 41 | { 42 | fcAPI.fcExrAddLayerPixels(m_ctx, frame, format, i, s_channelNames[i]); 43 | } 44 | fcAPI.fcExrEndImage(m_ctx); 45 | } 46 | ++m_frame; 47 | } 48 | 49 | public override void AddAudioSamples(float[] samples) 50 | { 51 | // not supported 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Editor/Sources/Helpers/EnumHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace UnityEditor.Recorder 5 | { 6 | static class EnumHelper 7 | { 8 | internal static int GetEnumValueFromMaskedIndex(int index, int mask) 9 | { 10 | if (!typeof(TEnum).IsEnum) throw new ArgumentException("Arg not an enum"); 11 | var values = Enum.GetValues(typeof(TEnum)); 12 | for (int i = 0, j = -1; i < values.Length; i++) 13 | { 14 | if (((int)values.GetValue(i) & mask) != 0) 15 | j++; 16 | 17 | if (j == index) 18 | return (int)values.GetValue(i); 19 | } 20 | throw new ArgumentException("invalid masked index"); 21 | } 22 | 23 | internal static int GetMaskedIndexFromEnumValue(int value, int mask) 24 | { 25 | if (!typeof(TEnum).IsEnum) throw new ArgumentException("Arg not an enum"); 26 | var values = Enum.GetValues(typeof(TEnum)); 27 | for (int i = 0, j = -1; i < values.Length; i++) 28 | { 29 | var v = (int)values.GetValue(i); 30 | if ((v & mask) != 0) 31 | { 32 | j++; 33 | if (v == value) 34 | return j; 35 | } 36 | } 37 | return 0; 38 | } 39 | 40 | internal static string[] MaskOutEnumNames(int mask) 41 | { 42 | if (!typeof(TEnum).IsEnum) throw new ArgumentException("Arg not an enum"); 43 | var names = Enum.GetNames(typeof(TEnum)); 44 | var values = Enum.GetValues(typeof(TEnum)); 45 | var result = new List(); 46 | for (int i = 0; i < values.Length; i++) 47 | { 48 | if (((int)values.GetValue(i) & mask) != 0) 49 | result.Add((string)names.GetValue(i)); 50 | } 51 | return result.ToArray(); 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Editor/Sources/TextureFlipper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace UnityEditor.Recorder 5 | { 6 | class TextureFlipper : IDisposable 7 | { 8 | internal RenderTexture workTexture { private set; get; } 9 | internal bool inPlace { set; get; } 10 | 11 | internal TextureFlipper(bool flipInPlace = true) 12 | { 13 | inPlace = flipInPlace; 14 | } 15 | 16 | internal void Init(RenderTexture template) 17 | { 18 | UnityHelpers.Destroy(workTexture); 19 | workTexture = new RenderTexture(template); 20 | workTexture.name = "TextureFlipper_worktexture"; 21 | } 22 | 23 | internal RenderTexture Flip(RenderTexture target) 24 | { 25 | RenderTexture outputRT = target; 26 | if (workTexture == null || workTexture.width != target.width || workTexture.height != target.height) 27 | Init(target); 28 | 29 | var sRGBWrite = GL.sRGBWrite; 30 | GL.sRGBWrite = PlayerSettings.colorSpace == ColorSpace.Linear; 31 | RenderTexture keepActive = RenderTexture.active; 32 | Graphics.Blit(target, workTexture, new Vector2(1.0f, -1.0f), new Vector2(0.0f, 1.0f)); 33 | if (inPlace) 34 | { 35 | Graphics.Blit(workTexture, target); 36 | } 37 | else 38 | { 39 | // If we flip the image not in place return the work texture as an output texture. 40 | outputRT = workTexture; 41 | } 42 | // Case REC-62 Multiple Recorder produce flipped content 43 | // Important to restore the previously active RenderTexture target after using Graphics.Blit 44 | RenderTexture.active = keepActive; 45 | 46 | GL.sRGBWrite = sRGBWrite; 47 | return outputRT; 48 | } 49 | 50 | public void Dispose() 51 | { 52 | UnityHelpers.Destroy(workTexture); 53 | workTexture = null; 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /Tests/Runtime/RecorderControllerTests.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using NUnit.Framework; 3 | using UnityEditor.Recorder; 4 | 5 | namespace UnityEngine.Recorder.Tests 6 | { 7 | class RecorderControllerTests 8 | { 9 | [Test] 10 | public void PrepareRecording_WithNullSettings_ThrowsException() 11 | { 12 | var recorderController = new RecorderController(null); 13 | 14 | var ex = Assert.Throws(() => recorderController.PrepareRecording()); 15 | Assert.IsTrue(ex.Message.Contains("Can start recording without prefs")); 16 | } 17 | 18 | [Test] 19 | public void StartRecording_WithEmptySettings_ShouldNotStartRecording() 20 | { 21 | var settings = ScriptableObject.CreateInstance(); 22 | var recorderController = new RecorderController(settings); 23 | 24 | recorderController.PrepareRecording(); 25 | Assert.IsFalse(recorderController.StartRecording()); 26 | Assert.IsFalse(recorderController.IsRecording()); 27 | 28 | Object.DestroyImmediate(settings); 29 | } 30 | 31 | [Test] 32 | public void StartAndStopRecording_WithValidSettings_ShouldStartThenStopRecording() 33 | { 34 | var settings = ScriptableObject.CreateInstance(); 35 | var imageRecorder = ScriptableObject.CreateInstance(); 36 | 37 | settings.AddRecorderSettings(imageRecorder); 38 | var recorderController = new RecorderController(settings); 39 | 40 | recorderController.PrepareRecording(); 41 | Assert.IsTrue(recorderController.StartRecording()); 42 | Assert.IsTrue(recorderController.IsRecording()); 43 | 44 | recorderController.StopRecording(); 45 | Assert.IsFalse(recorderController.IsRecording()); 46 | 47 | Object.DestroyImmediate(imageRecorder); 48 | Object.DestroyImmediate(settings); 49 | } 50 | } 51 | } 52 | --------------------------------------------------------------------------------