Overview
ProtoSprite is an easy to use Unity Editor (2022.2+) tool to help you design & prototype 2D worlds fast, with minimal friction and tight Unity integration. Rapidly create, draw and edit sprites directly in the Scene View in the context of your Scene. Utilizing PNGs for maximum compatibility and not adding any unnecessary component clutter to GameObjects. Great for prototypes, pixel art, game jams and greyboxing.
Create & Duplicate
Quickly create a new GameObject with a SpriteRenderer and a linked texture (PNG) file. Use the duplicate button to duplicate the texture to create variants or simple frame based animation.
Paint, Erase & Fill
Draw on the Sprite’s texture directly in the Scene View. Allowing you to paint in the context of your Scene. Viewing changes immediately across all instances of the texture.
Resize
Allows you to move each edge of the SpriteRenderer to increase or decrease the associated texture’s size. Automatically updating the Sprite’s pivot point so that it stays in the same place relative to where it was before the resize.
Pivot
Swiftly adjust the Sprite’s pivot point, optionally allowing for snapping to pixel perfect intervals.
Select/Move
Select a rectangle area on the sprite, then you can move those selected pixels around the sprite. Rotate 90°, flip horizontally/vertically or copy/paste/cut using Ctrl/Cmd + C/V/X.
Pixel perfect lines when drawing with 1 pixel brush size?
This is something I’ve thought about and I think would require replacing the current implementation with Bresenham’s line algorithm. I’m not sure how well this would work performance wise but perhaps it could be done as an exception when the brush size is 1. I’ll have to look into this further to see what can be done.
I’m thinking I’ll add a bresenham’s line implementation for 1 pixel thick lines drawn when holding shift. This is a short gif of before and after the change. It makes sure there aren’t L shapes in the line (a pixel can have a neighbour in a column or row but not both), ensuring the line is pixel perfect.
i like this ^^^^^^^^^^
There is another request. Can you add another operation to the select tool: when selecting a moving shape, the original shape can be retained(just ctrl c/v not ctrl x)
I’ve had a look into it. The system image clipboard buffer isn’t available in Unity though (only the string/text clipboard via EditorGUIUtility.systemCopyBuffer) I might try implementing a local clipboard, but it wouldn’t work going in and out of Unity. But could still be quite useful.
The next update 1.1.5 will have some small improvements to the select tool such as rotating in 90 degree increments, flipping horizontally/vertically and local (within Unity) copy/paste/cut using Ctrl/Cmd + C/V/X.
Duplicate sprite feature now allows you to either copy the whole texture or just the isolated sprite when duplicating on a sprite that’s from a multisprite texture (sprite mode is Multiple). This is useful if you want to extract a sprite from a multisprite texture into its own texture to use it to create variants or animation etc.
ProtoSprite 1.2 will have a color palette feature, reducing a lot of the friction of selecting colors. You’ll be able to load color palettes from textures or from the active sprite. Edit, add and remove colors, and also save/export color palettes as PNGs.
Color palettes. Allowing for much faster selection of colors for painting/filling and no more spamming the eye dropper!
Quickly load color palettes from the active selection. Either a texture in the project browser or from the active sprite you’re drawing on in the scene view.
Save/export custom color palettes as PNGs.
Edit, duplicate or remove colors from a color palette.
Being able to use a custom image for the brush is planned. I don’t have a time frame for this though, but it is on my list.
For smoothing, if you mean a hardness/smoothness slider for a circle brush etc so you can draw anti-aliased strokes then this is something I’d like to look into at some point, but isn’t currently planned. I can see it could be useful for quickly drawing sketches which might be very helpful for people.