Sprite display issue with closed Sprite Shape Profile

I am using Unity 6 and have been following video tutorials on creating a sprite shape profile that has four different sides and outer corners. I have test textures for top/right/bottom/left, as well as the four corners and center. These are in PNG format with transparency.

All the textures are set to “Single” for the Sprite Mode with “Full Rect” as the Mesh Type. The Wrap mode is set to “Clamp” for all except the center piece, which is set to “Repeat”.

Now for the problems. Originally, when I started only the texture assigned to the top angle range would show, unless I set the same texture to each of the other sides (didn’t matter which texture I used). At some point, the game sprite started showing both the top and next-clockwise texture, but no others. Here are examples of both cases:

You can see that the corner textures are also not showing correctly. That one visible lower-left corner texture only appears if all the side textures are the same.

Oh, and the above only works if I turn off the center texture. With it, I lose the second texture and the corner.

Does my setup seem to be incorrect somehow? Could really use help here…thanks!

I noticed that if I select this sprite object, the texture outlines for the 90-degree corners are correct, there’s just no texture showing for two of them:

I checked the individual spline points in my earlier post and they all have Corner set to “Automatic”.

I believe this is related to the bug reported and the fix is landing soon.

Could you please submit a bug report to help us confirm the same ? Thanks and sorry for an inconvenience caused.

Workarounds until the fix is available:

  1. Use SpriteAtlas and pack all relevant sprites in the SpriteShape Profile.
  2. Disable SRP-Batcher.

But please note that we are trying to land the fixes asap.

I did make some progress on this issue. I found that if I changed the Mask Interaction from “None” to “Visible Outside Mask” my individual corners/edges would (mostly) now appear:

In two of the tutorial videos I watched, Mask Interaction was set to “None” and they had no issues. Those videos were all at least 2 years old, though, so maybe updates to Unity have changed the behavior(?).

The only remaining concern is that corners seem to only appear if the corner point’s Tangent Mode is set to “Linear” AND if the points adjacent to it are also set to Linear. In the above pic, the highlighted spline point has been set to “Continuous” which has caused the adjacent (linear) points to no longer show a corner (each point had Corner set to “Automatic”). If I change that middle point back to linear the corners return.

Perhaps this is intentional? I get the sense that main target of Sprite Shapes is for 2D platformers. My game is top-down so SS may not produce the exact results I’m looking for.

I will take a look at that bug report to see if there is anything I can contribute. I will also continue to play with the settings for a couple more days, but for the most part I consider my issue resolved.

Yes, indeed. The Corner point and its neighbor points should be set to Linear mode.

Thanks for the clarification. I found that, for the above example with a concave arc, if I place two linear spline points between the continuous center point and the desired corners, it can semi-fix the problem, but only if the new points are not too close to the corner points (perhaps it depends on the texture size?).

In the following image, the points on the left object were too close together for this approach so I simulated the arc with all linear points. In the larger top object (highlighted) I did successfully blend a continuous point in the middle with barely-noticeable linear points between it and the corner points.

The middle object is a copy of the left object, this time converted to all continuous points. It honestly works better than I expected, though there is some texture stretching at the corners.

I also included the object on the right to demonstrate what happens at the 45-degree corners when I instead use the “Stretched” option instead.

All-in-all, I am happy with the results I am now getting and will mark this ticket as resolved.