Keep original Sprite dimension after import from Gimp

I have multiple Sprites, each in own layer, all share the same layer size 292x292
image

As you can see here


After import into Unity, all sprites with transparent pixels didn’t keep their original 292x292 dimensions


This sprite didn’t containt transparent pixels so it kept it’s 292x292 dimensions

How can I keep, the original dimensions for all Sprites (no matter if they have transparent pixels or not)?

Adding a 1px border around the jacket, solved the problem but I cannot live with that.

Adjusting the widht/height in the SpriteEditor didn’t help.
I am skinning the whiteGrid sprite to a skeleton, and want to copy the skinned mesh on all clothing items inside the whiteGrid.
In order for it to work correctly, all Sprites must have the same dimensions.

It looks like you export multiple sprites in a sheet from Gimp?

Unfortunately, the original sizes of the layers is lost in the process and there’s no way for Unity to tell how big they should be. Unity will just cut off any transparency to make the sprite as efficient as possible.

You can only set the sprite rects manually in Unity, use a grid to make applying the settings in Unity easier (if that works for your use case), or export the sprites as single images and let Unity generate the sprite sheet instead.

You might also be able to find some plugins that store the sprite sizes in addition to the sheet (like in a Json file) but that might not work with your current workflow.

Are all of these sprites in a single sprite sheet? If so, then you can use the slice menu in the sprite editor to define a constant sprite size for all of the sprites in the sheet using “Grid by Cell Size”
image