Custom Attribute Links

How to set-up and utilise this powerful feature to connect existing objects together

Daniel Fleming avatar
Written by Daniel Fleming
Updated over a week ago

As of ftrack Studio 4.8, we're happy to announce the release of custom attribute links! This powerful new feature allows you to link existing objects together in ftrack studio to allow for even more powerful and useful views.

What are custom attribute links?

A typical ftrack studio site contains multiple object types that could be related to one another. Out of the box, default objects such as shots and tasks are already linked together, allowing you to see which tasks are contained within a specific shot. But what if you wanted to link shots to a custom object type that you created?

This was technically possible previously, but the problem is you'd have to use custom attributes that aren't connected to each other. Let's say we create a text attribute called Camera on the shot object, and we populate it with the names of the cameras used in each shot. If that camera name were to change, we'd have to go back and update all attributes where this old camera name is referenced.

With custom attribute links, this is no longer an issue, since we create an attribute that links to the camera object directly, so changing its name would update everywhere. Let's look at how we can do this and what benefits it gives you.

How do I set this up?

We're going to use a hypothetical example to demonstrate this concept (but it of course applies to any custom object types you have created). Firstly, let's imagine we have created a custom object type called Camera. In this example, we want to know which camera is used in which shots, so that we can easily look up attributes about that specific camera such as fps, lens info etc.

Creating our attribute link field

First, we need to create a custom attribute (you can learn more about how to do this here). Once we create the custom attribute, there are a few things we need to set:

  1. First, we choose which object to add the attribute to, in this case, we want to add it to the Shot object

  2. We will select the attribute type as Link

  3. We then select which object to link to, in our case we're going to select the camera object

  4. The Selection dropdown allows you to choose between Single-Selection or Multi-Selection. Because our shots can only be linked to a single camera, we're going to choose the Single-Selection option

About Link Types

In our case, we chose to use Single-Selection but there are 2 types of links you can choose from



This mimics a one-to-many relationship, whereby your source object is linked to a single target object, but your target object can be linked to multiple source objects

This mimics a many-to-many relationship, whereby your source object can be linked to multiple target objects, but those target objects can be linked to multiple source objects

For example, a camera can be linked to multiple shots, however, a shot is usually only linked to a single camera

For example, a version can be linked to multiple deliveries, but those deliveries can also contain multiple versions

How to view our new field

Once we've created the field, let's hop over to a shot to see the new attribute we've created. Clicking into the newly created Camera attribute will allow us to choose which camera to link this shot to. We now have a reference on our shot info tab for which camera is being used.

We can also reveal this attribute on the task spreadsheet. This is useful for easily seeing link attributes across multiple objects. We even have the option to link a shot to our camera from this view as shown below.

Because we are linking 2 objects together, we can also adjust the link from the corresponding object link (i.e we want to see what shots are being used by each of our cameras). You may have noticed that when we created the custom attribute link attribute on our shot, a corresponding attribute got created on the camera called Shot (from Camera). In the image below we can see both our linked attribute field called Camera and its reverse attribute called Shot (from Camera).


To conclude, you can use custom attribute links to create powerful relationships between your objects.

We will soon be publishing some more in-depth tutorials and walkthroughs on this topic, so stay tuned for more useful tips and examples of how to make the most of this feature.

Did this answer your question?