# Sandbox.MovieMaker.MovieRecorder

Records properties in a scene to tracks ready for use in a [Sandbox.MovieMaker.MoviePlayer](/api/Sandbox.MovieMaker.MoviePlayer). You can use this for in-game demo recording
            of a whole scene, or only specific properties, configured using [Sandbox.MovieMaker.MovieRecorderOptions](/api/Sandbox.MovieMaker.MovieRecorderOptions).
            


            You can manually call [Sandbox.MovieMaker.MovieRecorder.Advance](/api/Sandbox.MovieMaker.MovieRecorder/Advance) to move the recording time along, then [Sandbox.MovieMaker.MovieRecorder.Capture](/api/Sandbox.MovieMaker.MovieRecorder/Capture) to write all recorded properties
            to tracks. Alternatively, call [Sandbox.MovieMaker.MovieRecorder.Start](/api/Sandbox.MovieMaker.MovieRecorder/Start) to automatically advance and capture every fixed update, and [Sandbox.MovieMaker.MovieRecorder.Stop](/api/Sandbox.MovieMaker.MovieRecorder/Stop) to finish recording.
            


            Convert the recording to a [Sandbox.MovieMaker.Compiled.MovieClip](/api/Sandbox.MovieMaker.Compiled.MovieClip) by calling [Sandbox.MovieMaker.MovieRecorder.ToClip](/api/Sandbox.MovieMaker.MovieRecorder/ToClip). This clip can then be
            played back immediately, or serialized to later use.

- Kind: class
- Namespace: `Sandbox.MovieMaker`
- Assembly: `Sandbox.Engine`
- Modifiers: sealed

## Constructors

- [`MovieRecorder`](/api/Sandbox.MovieMaker.MovieRecorder/.ctor): Create a new [Sandbox.MovieMaker.MovieRecorder](/api/Sandbox.MovieMaker.MovieRecorder), recording the given `scene` with the given `options`.

## Properties

- [`Binder`](/api/Sandbox.MovieMaker.MovieRecorder/Binder): Maps tracks to objects and properties in the scene.
- [`Options`](/api/Sandbox.MovieMaker.MovieRecorder/Options): Configuration deciding which properties are captured, and at what sample rate.
- [`RecordedThisFrame`](/api/Sandbox.MovieMaker.MovieRecorder/RecordedThisFrame): Which [Sandbox.MovieMaker.IMovieTrackRecorder](/api/Sandbox.MovieMaker.IMovieTrackRecorder)s recorded anything during the last call to [Sandbox.MovieMaker.MovieRecorder.Capture](/api/Sandbox.MovieMaker.MovieRecorder/Capture).
- [`Scene`](/api/Sandbox.MovieMaker.MovieRecorder/Scene): Scene we're recording. Will match [Sandbox.MovieMaker.TrackBinder.Scene](/api/Sandbox.MovieMaker.TrackBinder/Scene).
- [`Time`](/api/Sandbox.MovieMaker.MovieRecorder/Time): Current recording time, increased by calling [Sandbox.MovieMaker.MovieRecorder.Advance](/api/Sandbox.MovieMaker.MovieRecorder/Advance).
- [`TimeRange`](/api/Sandbox.MovieMaker.MovieRecorder/TimeRange): Recorded time range, spanning from the first capture to the current value of [Sandbox.MovieMaker.MovieRecorder.Time](/api/Sandbox.MovieMaker.MovieRecorder/Time).

## Methods

- [`Advance`](/api/Sandbox.MovieMaker.MovieRecorder/Advance): Moves recording ahead by the given `deltaTime`. This will happen automatically if you've called [Sandbox.MovieMaker.MovieRecorder.Start](/api/Sandbox.MovieMaker.MovieRecorder/Start).
- [`Capture`](/api/Sandbox.MovieMaker.MovieRecorder/Capture): Runs all actions in [Sandbox.MovieMaker.MovieRecorderOptions.CaptureActions](/api/Sandbox.MovieMaker.MovieRecorderOptions/CaptureActions). This will happen automatically if you've called [Sandbox.MovieMaker.MovieRecorder.Start](/api/Sandbox.MovieMaker.MovieRecorder/Start).
- [`GetTrackRecorder`](/api/Sandbox.MovieMaker.MovieRecorder/GetTrackRecorder): Gets a [Sandbox.MovieMaker.IMovieTrackRecorder](/api/Sandbox.MovieMaker.IMovieTrackRecorder) for the given `gameObject`, creating one if it doesn't exist. If [Sandbox.MovieMaker.MovieRecorderOptions.Filters](/api/Sandbox.MovieMaker.MovieRecorderOptions/Filters) reject this game object, returns null instead. Will use `gameObject`'s [Sandbox.GameObject.Name](/api/Sandbox.GameObject/Name) as the track name.
- [`Start`](/api/Sandbox.MovieMaker.MovieRecorder/Start): Starts recording the scene. Stop recording by calling [Sandbox.MovieMaker.MovieRecorder.Stop](/api/Sandbox.MovieMaker.MovieRecorder/Stop), or disposing the returned object. Recording will automatically stop when the recorded scene is being destroyed.
- [`Stop`](/api/Sandbox.MovieMaker.MovieRecorder/Stop): Stop recording the scene. Does nothing if you haven't called [Sandbox.MovieMaker.MovieRecorder.Start](/api/Sandbox.MovieMaker.MovieRecorder/Start).
- [`ToClip`](/api/Sandbox.MovieMaker.MovieRecorder/ToClip): Convert the current recording to a [Sandbox.MovieMaker.Compiled.MovieClip](/api/Sandbox.MovieMaker.Compiled.MovieClip) that can be serialized or played back.
- [`ToResource`](/api/Sandbox.MovieMaker.MovieRecorder/ToResource): Convert the current recording to a [Sandbox.MovieMaker.IMovieResource](/api/Sandbox.MovieMaker.IMovieResource) that can be saved as a .movie asset.
