We’re happy to share that we’ve released 2D PSD Importer 6.0 for Unity 2021.2. This release is focused on layer management and mapping to improve the workflows from Photoshop and other image-editing tools into Unity.
What’s new?
Added the ability to map SpriteRects to the layer name in a Photoshop file instead of using layer ids. More on this below.
Provided an automatic custom Physics shape generation option in the importer.
Added support to collapse the layers in a Photoshop file’s Layer Group. This enables a workflow where multiple layers of art in Photoshop can generate a single Sprite in Unity. It’s no longer necessary to merge the layers in Photoshop.
Added the ability to configure Mosaic Padding to give users control over the space between each generated Sprite in a Texture.
Improved PSDImporter Inspector usability.
More about layer names vs. layer ID
The PSDImporter uses an ID that is stored internally by Photoshop for each layer to identify the mapping of the layer to the Sprite that was generated. Many third-party software that produce Photoshop Image files do not store the ID value resulting in potential data loss. In PSDImporter 6.0, users can have the option of using a Layer’s name to map to the Sprite it generates.
About 2D PSD Importer
The 2D PSD Importer is an Asset importer that imports Adobe Photoshop .psb files into Unity, and generates a Prefab of Sprites based on the imported source file. Read more in the 2D PSD Importer documentation.
Getting Started
Install the latest Unity 2021.2
Start a new project with the 2D or 2D URP Template
You can confirm that the 2D PSD Importer 6.0 package is installed by opening Package Manager (Window > Package Manager) and selecting the Packages: In Project from the dropdown.
You should see a verified version of 2D PSD Importer in your project.
What can you do?
Try it out and let us know what you think of the additions and improvements. We want to know what works as expected, what doesn’t and what is missing.
Thanks @suntabu
Are you looking for SpriteSkin support for the image component in UGUI? If so, no we currently do not have any plans for it.
If we supported this combination, how would you make use of it?
Yes, we are. We wanna reduce the usage of image resources.
Imagine this, an NPC fighting in my scene, and a dialogue panel UI with animate NPC character would be more attractive.
But for now, we need to use unity rig animation for scene characters and spine’s SkeletonGraphic for UI, which means completely duplicated character image resources.
Finally, I know we can use SpriteRenderer with UGUI, but it’s not convenient and effective.
Thanks for the insight.
Another approach you could consider is setting up a secondary camera and render it into a RenderTexture. This RenderTexture can then be assigned to a RawImage component in the UI to visualize what the secondary camera is seeing.
Using RenderTexture as RawImage’s main texture is inconvenient too.
Our game designers want to make UI very vivid and attractive, many rigged animations are displayed in UI.
So it’s very hard for every animation game object to create a camera RenderTexture.
The spine is a very popular and successful 2D animation tool and they provided SkeletonGraphic for this situation.
Why they provide SkeletonGraphic is just because they know that many many of us need it and it’s very useful.
I see, good to know that you have considered this option as well.
We will take this feedback into account when planning improvements to the 2D toolset for future versions.
Thank you!
The PSD importer is a great addition to the 2D workflow together with the animation system and am using it for a while
Though I wonder is it possible to use it at runtime as well?
Thinking of modding support where I’d like to keep the .psb file of the characters in the resource folder and load them at runtime.
The triangulation and bone weights etc. would then be copied over from a dummy sprite set which has been designed inside the editor. This copying mechanism works now for psb files that have been imported in the editor, but they all have to exist at compiletime currently.
Such a runtime feature would also be helpful to allow “baking” a character at runtime. For example to provide an advanced character editor where the player can add decorations ton the character that are then animated by the regular bones of the original psb file.
Would you say that the PSD importer supports such a workflow?
Hello, I have a bug with psd importer.
Sorry, maybe I’m writing to the wrong thread, but I need your help.
I use Unity 2022.1.0b2.2474 and package Version 7.0.0-pre.3 - October 25, 2021, I have problem with layer merging.
I have psb character to rig. I want to import head as a folder in photoshop and merge it later in unity.
So, I clicked merge and all is okay, until I noticed that layers merged with semi-transparent outline.
I clicked some import options like filter mode, aniso level and etc, but no results.
One way I found - merge folder into one layer before import to unity, as I did before upgraded and Layer Management tab added.
Can unity psb importer leaves more space for each sprite?
When unity imports a psb file, it generate a sprite for each layer, but the problem is, it leaves zero free space for them, it squeezes each sprites into a frame that fit perfectly, this might be good for saving ram, but if I draw more stuff in that layer, it will be cut out, and I will need to redo the rig! And the auto geometry in skinning editor is not working properly because of this, some part of the sprite is not included! I have no idea why unity didn’t notice this, or is it because there is something that I don’t know?