While updating to the latest Photoshop CC 14.2 (today, 17.01.2014) I've found a huge bug with the traditional smart objects behavior.
I recorded a video. Please, take a look on it.
Are you trying to use Linked Smart Objects? The standard embedded SOs do not update within different documents. If you want to place a linked smart object in a document, you also have to save the original linked SO.
Linked is linked, the problem not about linked.
Here I show you embedded Smart Objects.
From the video you can see that I've created Standard embedded SO inside one document, then copy it inside another document. So both documents have to have different copies of embedded SOs as it was previously in all versions of Photoshop starting from the beginning of Smart Objects.
It means that while changing SO for Doc1 I will change this exact embedded SO. While changing SO for Doc 2 I will change it's own SO, and result is independent between two documents. Now it's dependent in some very strange way.
I think you need to actually save doc1. They way it looks like you're doing this all your documents are new and have never been saved, so your references aren't tied to any saved documents and just using what's in the cache.
It seems to be all messes up. Please report this bug on Adobe Feedback site ....
If they are link object and both and both document are open Photoshop then both smart object layers should change color. In one respect they do. For if you open either smart object layer smart object you get the updated color, However one of the smart object layer rendered color pixels have the wrong color.
I duplicated your test and then did a second test. where I opened a new document created the colored smart object layer. I then saved a psd file and closed the document. I then created a new document. Opened the saved PSD file and copied the smart object layer the new document I had opened. I then opened the copied smart object. I changed the color and saved and closed the work psb. The smart object layer in the new document color changed. The re-opened PSD smart object layer color did not change. However opening its embedded object opened with the other new color which is a different color then the pixels rendered for the layer.
Adobe rushes new code out the door without through testing. They introduced bugs is CS4 the still have not fixed.
Message was edited by: JJMack
So, as far as I see the only termination of this "strange" behavior is closing the files with copied Smart Object. In PS6 everything works just in runtime. I have lot's of smart objects migrating from one file to another, it means that now I have to close file in order to make copied smart object to have status "embedded".
This is absolutely stupid.
Check the difference in behavior in two PS. This video I made, because it describes everything clearly.
This is happening with my workflow, too. Currently, a saved smart object replaces the contents of the smart object in the original document, but not the document from which the smart object was opened. Additionally, the original smart object is altered irreparably.
What do you mean by 'smart objects do not update in realtime'? Can you outline steps to exhibit the behavior?
Suppose you wanted to create a mirrored setup with two or more smart objects, or your project consists of multiple smart objects that are used throughout the design as repeatable patterns (let's say jewels, or textures).
So you open the contents of the smart object in a new window, and arrange both windows horizontally. Now draw in or change the smart object's contents - nothing happens in the main project. The user is forced to save the smart object first before the changes are applied. In effect a new separate file is generated.
Very cumbersome. Even more counter-productive is that the user cannot edit a smart object's content in place in the original file, and that Photoshop opens a new window instead. (I understand that external files like Illustrator cannot be edited in place, but Photoshop elements should really have that option.)
All of this severely breaks the workflow. An alternative workflow is presented in Photoline: the user is able to create virtual clones/instances of any type of layer, layer groups, and layer masks, and when the source layer is edited in some way those changes update in real time cascading throughout the project. No need for the content to be opened in a separate window. Also worthy of note is that the changes are applied while the user draws or changes the vector shape(s) - which makes it incredibly useful for mirrored painting, to cite just one example.
Flash also offers this type of functionality: double-click a symbol, and the user can edit it in place. Changing the object automatically updates the other instances. Unfortunately even Flash does not update in "real time", only after you made the changes does it update the instances.
All in all, dealing with smart objects in Photoshop is a bit of a pain compared. Just not a very well thought out feature, in my opinion, and in dire need for an update - the externally linked content is a step in the good direction, but the actual implementation of "smart objects" is rather "dumb". ;-)
Thanks for the follow-up and explanation.
We are aware of the 'Edit Contents' UX being cumbersome and disruptive and we're looking at ways to improve. With LInked Smart Objects, we do auto-update any open files that reference the source file but only after a save.
For your example of mirrored painting, do you mostly do this for 2D planar artwork? And are you usually mirroring a single axis? I ask because there may be a solution using 3D layers that gives you realtime updates.
You probably mean shared UV coordinates on a 2d plane - too much of a work-around. If I may be blunt, it is rather embarrasing that Photoshop, as a digital painting tool, still after all these years has no true and simple mirror painting option. It is one of the (many) reasons why I switched to different software for all my work (for painting I now mainly use Krita - even Open Source does it better for crying out load! - and 3d Coat). Photoshop's 3d painting just cannot keep up at all with more specialized tools, I am afraid to say. I am also eagerly awaiting Substance Painter.
The linked smart object feature is nice to have, though, as you state, the overall user experience of SOs in Photoshop needs a complete overhaul. As does the antiquated layer mask system. As do so many other things that relate to the image editing workflow (for example, why is the user forced to switch image mode when he/she wants to work in Lab curves), and so on, and so forth.
Different story, though :-)
Ideally SOs with Photoshop generated content should be a) editable in place, and b) update in realtime. That would also offer simple workarounds to do things like mirror painting and cloned objects that update in real time.
We have posted an update that fixes this issue. You can read more about the update here:
Photoshop 14.2.1 Update (2/18/2014)
Chris Cox wrote:
You still need to save before smart objects will update.
If they updated in realtime, we'd have to call them "too slow and painful to be used objects".
That would not be true for all files, now would it?
In Photoline layers can be cloned, and those instances update in realtime (that includes groups of layers on a different page. I often create the original objects on a separate page, and then clone those to other pages. I then setup a two window view, and see the instances update in realtime on the page(s) I placed them. This workflow mirrors smart objects.
Photoline updates the cloned versions as fast as the computer allows for it - so for more complex objects (like groups with many sub-objects) there is of course a lag in the update of the clones (the edits in the original remain smooth) - but it still works really well. No need to save and break the workflow.
So if that is possible in other software, I would think at least an option to turn realtime editing on and off would be very useful for Photoshop users. You do not know what your are missing until more forward thinking minds show the way ahead.
Smart Objects involve a lot of expensive calculations (color conversion, transformation, filtering, file IO, etc.). Updating anything more than trivial files in realtime would be painfully slow (we know, we've tried it). But by saving all the heavy lifting until the user says it's ok to do the work (an explicit cache point in the compositing graph), we make smart objects useful without slowing down the user's workflow.