Skip to main content
Participant
December 21, 2016
Question

Auto-update linked smart objects in Photoshop

  • December 21, 2016
  • 4 replies
  • 48287 views

HI everyone,

we have one header file used across multiple psd files as a linked smart object.  What we do now is open find the changes in the header and update.  But we have quit a few files and its tedious.  Is there a way to for the psd files to auto-update with the changes in the smart objects without  opening and re-saving manually?

thanks

4 replies

Stephen Marsh
Community Expert
Community Expert
January 12, 2022

It is the same in say InDesign or Illustrator, if you have a linked object and update the object, then each file that uses the linked object has to be opened/updated/saved.

 

As JJMack said, this could be scripted to some degree in finding and updating the files, but would still need to be "triggered" manually.

 

@Admirable_Companion5D67 if you have a simple "flat" linked SO layer structure, a Batch Action should do the job as illustrated below.

 

To illustrate the Adobe Bridge Batch route, one has to find all files that use the header file as a linked smart object, then select them and a batch script be run to update the files. This requires a little work, but a whole lot less work than scripting.

 

Step 1: Find the files that use the common header image that has been modified:

 

 

Here is the filtered result from Bridge > Edit > Find...

 

 

Step 2: Bridge > Tools > Photoshop > Batch...

 

 

Here I have created an action and used the "insert menu item command" to build the action steps. This could just as easily use a script that provides more abilities than what an action can provide.

 

Here is the result of the batch action:

 

Participating Frequently
January 12, 2022

Thank you so much for being interested in solving this issue.

I was able to create and run the action but for some reason still not able to update the only two required images (BACK.psd and TITLE.psd).

Do you think you could open the file and take a look at it to see why the action is not working the way it should? 

I really appreciate.

 

VERSIONER-01.psb

This is how it looks now but it does not reflects what the colors of the linked files have.

 

Here is how the three file colors look like, but for some reason they wont update on the VERSIONER-01.psb.

 

 

Here is the link to download the folder containing the files.

https://www.dropbox.com/s/hyotqx3kqof02pz/02-ASSETS.zip?dl=0

Thank you so much for your help,

 

Stephen Marsh
Community Expert
Community Expert
January 12, 2022

Yes, it does appear that the artboards are making this more complex.

 

Attempting to isolate the issue to just one artboard, it appears that you have an embedded SO layer in the artboard:

 

Editing that single layer, there are linked SO layers to be updated:

 

Result after updating the linked SO inside the embedded SO:

 

So the challenge would appear to be scripting a loop over each artboard, looping over layers in each artboard and editing any smart object layer to update the linked layers, then closing/saving before moving onto the next artboard and repeating.

 

I'm looking into this, I really hate artboards though!

Participating Frequently
November 18, 2017

I had the same struggle but overrode it with action in Photoshop (update all modified links, save and close) which I'm launching in Bridge by Tools > Photoshop > Batch... and then, in Photoshop popup window selecting my action and that's it.

It may take a while depends on how many projects you want to update but it's the most almost-self-automatic method I figured out. Hope it helps

Known Participant
June 10, 2020

Thank you for your input but no: that is not the right/good/expected solution, sorry.

 

I HAVE SOLVED IT FINALLY MYSELF exactly as it should be (the only thing that annoys me is that it always opened every SMARTOBJECT for a sec, it would be great if it could be done without that...anzwaz, it is fully functional even with locked and disabled layers)!

 

I posted my own solution on Stackoverflow here: Photoshop CC2019 auto-update all linked smart objects including nested ones 

 

martink15467522
Inspiring
June 16, 2020

Tried using your script on my psd and it gets stuck in a loop trying to update the smart objects. Any ideas why this could be ?

tmyusuf74
Inspiring
December 22, 2016

That should work for your situation. Please try go to Layer > Smart Objects > Update all Modified Content another option download the file Name : Update All Modified Content.jsx and then In File > Scripts > Scripts events manager... add the script to be triggered on Open document and it's done.


Known Participant
June 9, 2020

It would be GREAT if you actually give a link to that .jsx file, this way it is useless, unfortunatelly (Google search gave no result for such file)

 

EDIT:

So I find it on graphicdesign.stackexchange.com forum, the link is here (it is the code in the accepted answer for that page):

Update All Modified Content.jsx 

 

In case someone only needs the content of the .jsx file, here it is:

 

 

 

// Update all modified content
var idplacedLayerUpdateAllModified = stringIDToTypeID( "placedLayerUpdateAllModified" );
executeAction( idplacedLayerUpdateAllModified, undefined, DialogModes.NO );

 

 

Also this DOES NOT WORK in CC2019 when you have linked layer (PNG image in my case) inside another smart object - it only work for top most objects, so any nested object containing linked object will not work with this.

 

So can be be modified somehow so that it would work when I have like "PSD document with smar object -> smart object -> smart object with linked layer (PNG image)"?

 

JJMack
Community Expert
Community Expert
December 21, 2016

If documents with link smart object layer are open in Photoshop the smart object layers  with linked object will be automatically updated when the linked object is updated.   If other PSD have smart object linked to that master file are not opened in Photoshop they will not be updated till the next time they are opened in Photoshop.  When these PSD are opened opened in Photoshop they will automatically be updated.  If you want all PSD with a linked smart object to be automatically be updated if a inked master is updated you would need to implement something to do that. 

If you search the Photoshop Scripting forum you may find something.  I believe that subject has been addressed in that forum. I believe the PSD will need to be opened in Photoshop so Photoshop can render new pixels or just store the  pixels for the smart object layer content.  However its an automated process. Not a manual process.  I believe it involvers metadata in the the master file list document  that have linked smart object links to the master file.  Something like programmed events must record and use the metadata.

JJMack
Participant
December 22, 2016

Thanks for this.  Will give a look for the script but I think Adobe should consider as its something that is needed.  Consider a site design with multiple pages that have a repeating header - if the header changes then you have to open each file, update the smart object and resave. 

JJMack
Community Expert
Community Expert
December 22, 2016

Use Adobe's feedback site Photoshop Family Community submit your suggestion then

JJMack