# Sandbox.MovieMaker.MovieRecorder.GetTrackRecorder

## Overload 1

```csharp
IMovieTrackRecorder GetTrackRecorder(GameObject gameObject)
```

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.

### Parameters

- `gameObject` (`GameObject`): Object in the scene to record.

### Returns

`IMovieTrackRecorder`

## Overload 2

```csharp
IMovieTrackRecorder GetTrackRecorder(GameObject gameObject, string trackName)
```

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 name
the created track `trackName`.

### Parameters

- `gameObject` (`GameObject`): Object in the scene to record.
- `trackName` (`string`): Name to use for the recorded track.

### Returns

`IMovieTrackRecorder`

## Overload 3

```csharp
IMovieTrackRecorder GetTrackRecorder(IValid gameObjectOrComponent)
```

### Parameters

- `gameObjectOrComponent` (`IValid`)

### Returns

`IMovieTrackRecorder`

## Overload 4

```csharp
IMovieTrackRecorder GetTrackRecorder(Component component)
```

Gets a [Sandbox.MovieMaker.IMovieTrackRecorder](/api/Sandbox.MovieMaker.IMovieTrackRecorder) for the given `component`, creating one if it doesn't
            exist. If [Sandbox.MovieMaker.MovieRecorderOptions.Filters](/api/Sandbox.MovieMaker.MovieRecorderOptions/Filters) reject the component's game object, returns null instead.
            


            Calling [Sandbox.MovieMaker.MovieRecorder.Capture](/api/Sandbox.MovieMaker.MovieRecorder/Capture) on the returned recorder will use [Sandbox.MovieMaker.IComponentCapturer](/api/Sandbox.MovieMaker.IComponentCapturer)s to decide
            which properties to capture. These handlers are configured using [Sandbox.MovieMaker.MovieRecorderOptions.ComponentCapturers](/api/Sandbox.MovieMaker.MovieRecorderOptions/ComponentCapturers).

### Parameters

- `component` (`Component`): Component in the scene to record.

### Returns

`IMovieTrackRecorder`

## Overload 5

```csharp
IMovieTrackRecorder GetTrackRecorder(ITrack track)
```

Gets a [Sandbox.MovieMaker.IMovieTrackRecorder](/api/Sandbox.MovieMaker.IMovieTrackRecorder) for the given `track`, creating one if it doesn't
exist. If [Sandbox.MovieMaker.MovieRecorderOptions.Filters](/api/Sandbox.MovieMaker.MovieRecorderOptions/Filters) reject whatever game object the track is bound to,
returns null instead.

### Parameters

- `track` (`ITrack`): Track to record.

### Returns

`IMovieTrackRecorder`

Declared in [Sandbox.MovieMaker.MovieRecorder](/api/Sandbox.MovieMaker.MovieRecorder).
Assembly: `Sandbox.Engine`.
