The custom attribute links feature allows you to link existing objects together in ftrack studio to allow for even more powerful and useful views.
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.
Setting it 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 an attribute link field
First, we need to create a custom attribute
Tip: Learn how to create a custom attribute here.
Once we create the custom attribute, there are a few things we need to set:
First, we choose which object to add the attribute to, in this case, we want to add it to the Shot object
We will select the attribute type as Link
We then select which object to link to, in our case we're going to select the camera object
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.