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 13, 2022

Hello Stephen,

I was able to follow all of the steps and the Action seem to work. Non the less I still have a few questions...

1)- In the Close Action... the "Without Maximize Compatibility" necessary or would "Maximize Compatibility" be a different outcome?

2) About your note: there are scripts that can run an action against multiple selected layers!

Is there a way you could find one I could use? I barely know that changing the extension of a text file to .jsx would make the code into a script, but there will be so many nuances that could take place before getting to that final part of the process.

I was able to find this site where I believe there are some of these scripts you mention, but I will not even have an idea of how to apply the workflow of what the ultimate goal I am trying to accomplish (forcing all of the assets to update when opening the Master file).

https://www.ps-scripts.com/viewtopic.php?f=66&t=6723&p=33455&hilit=multiple+selected+layers&sid=5421fac6db9e6f7a1847684cdc02ee53#p33455

 

3)- I wish this script from above made by Anka Petkova could work on my master file. I believe it gets stuck for the fact that does not consider Artboards.

Photoshop CC2019 auto-update all linked smart objects including nested ones

 

4)- I am not a friend of Artboards either but in this exact case is necessary to be able to adjust sizes and positions within the same file and at the same time be able to export all of these different versions.

 

I hope that there will be a solution for this at the end of the day. I'll keep my fingers crossed.

Thank you so much for your help

 

 

 


Glad you are making progress!

 

1) For a smart object PSB save,  it shouldn't matter and would only bloat things further.

 

2-3) You are likely correct, the artboards are probably going to mess up scripts, even if using the layers panel to isolate the layers, more testing would be required. You would indeed search the web for files tha can play actions on all or selected layers, ideally ones that are designed around artboards.

 

4) I guess it is a trade off with the pros/cons of working with and around artboards, as you are finding, they are helpful in one area but in another a hindrance. 

 

I'll revisit, however, you may just have to apply an F-key shortcut to the action and manually run it on each isolated SO layer.

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