Linked Smart Objects in Photoshop
Mark Steinruck, Former User Experience Designer
If you've ever used a page layout program like InDesign or QuarkXPress, then you know how great it is to be able to link to external files. Unfortunately some of us prefer to create our designs in Photoshop. How nice would it be if Photoshop had support for linking to external files? Updating common elements like a header or footer in all of your comps would be a snap! The need for this feature has even been noted by Adobe's John Nack.
Thanks to the hard work of Mike Hale and Jeff Tranberry at PS-Scripts, now you can. There are a few system requirements that may cause some people to hop off the party bus a little early. The scripts are only compatible with Photoshop CS4 and CS5, and some technical issues prevent it from working in Windows Vista or Windows 7.
How it works
Once installed, you can access the Links panel by going to Windows > Extensions > Links. You may need to expand the panel by pulling down the lower right corner to make the buttons visible.
Create two files: The first we'll call the main design comp, where you will place the linked files. The second should be the file that will be linked. Note: The panel currently doesn't support relative paths, so put your external files in a location that you likely won't change, if possible. Now click on the New Linked Smart Object button and find the file that you want to place. The selected file should appear with a bounding box, because it's being placed as a smart object.
It's easy to forget that you shouldn't edit the placed file like any old smart object. Instead, highlight the smart object layer in the Layers palette, and then click on the Edit Original button in the links panel to open the external file. Make your changes, save, and go back to your main PSD where you will click the Refresh Link and Update Link buttons. Shazaam, you're done!
So you've designed an amazing comp that uses the same button or button style ... a lot. Today is presentation day, and the client kindly informs you that the entire color scheme has changed since your last meeting two days ago. Being a wise designer, you're already using the sagely advice from Mindy's post about smart objects. With all of your buttons converted to smart objects, changing the color is simple. But now you need to duplicate that change to every comp that has already been designed. Not cool!
Never fear, the links panel is here. By placing all of your buttons (hover states included) into a linked sprite file, you have created one place to quickly and easily make updates. Remember that you can nest smart objects within other smart objects, so the key is to convert your button backgrounds to smart objects within the sprite file for maximum speediness.
Back in the main Photoshop file, duplicate the sprite file as many times as needed and simply mask out the parts that shouldn't be visible. By duplicating the same smart object, clicking the Update Link button will update all instances of the linked file.
There won't be a perfect solution for linking files in Photoshop until Adobe finally decides to make it a native feature. The links panel is a pretty great solution for now, but there are still some downsides that you should know before committing to use it on your next project.
- Relative paths to linked files aren't supported yet. This can be problematic if you plan to share your PSDs between multiple computers and designers. Because the linked files are placed as smart objects, they will still be visible in the PSD. However, the link to the original file will need to be updated using the links panel to maintain the functionality on another computer.
- If you're using a mask on the smart object (e.g., with a sprite), updating the linked file may also cause a shift in your mask. (Mike says that he may be able to fix this in a future version of the script if time allows.)
- Linked files are placed with the reference point in the center, not the top left corner. If you crop or enlarge a linked sprite file, the elements will shift in the main PSD. When using sprites, make the file large enough that it won't require resizing.
- A "Refresh all Layers" function in the latest version is only available for Photoshop CS5 on Windows XP. An event/refresh problem with Flex panels causes this feature not to work on Macs.
- The main PSD file size will increase with each placed file because the linked files actually become part of the document. The path reference is simply metadata stored within the smart object. In my tests, I didn't notice an unreasonable file size bloat.
If you have discovered other ways of using the links panel, or linking files in Photoshop, please share them below. For more about Photoshop scripts and smart objects, check out Photoshop Scripts: Hidden Magic and Genius Ways To Use Photoshop Smart Objects.