Get Shapes 💖 |
Documentation |
Changelog |
Feedback |
It has bothered me for a long time that for some reason, html5 canvas is better at drawing primitives than Unity.
I really wanted something to help us make those crisp lines, discs, polylines and, well, Shapes!
High-Quality Line DrawingClean lines of arbitrary thickness with advanced local anti-aliasing & thinness fading, in both 2D and 3D, with support for both world-space sizing as well as screen-space sizing |
Local Anti-AliasingNaive implementations of lines are often locked to 1 pixel in width, without any proper anti-aliasing. Shapes has built-in local anti-aliasing, so even if your project doesn't have any kind of AA, Shapes will still draw lines smooth as heck~ |
PolylinesPolylines with configurable Round, Miter & Bevel joins |
2D Shapes2D shapes like polygons, discs, rings, arcs and rounded rectangles with vector graphics-style infinite resolution, drawn with a single quad |
3D Shapes3D shapes like spheres, cuboids, tori & cones |
Immediate-Mode APIIn addition to the components, Shapes has an Immediate-Mode API for code-based drawing, including scene view drawing support for cleaner looking debugging and gizmos |
Limitations
• No SVG support, Shapes is not designed to be an SVG asset importer/exporter |
• No ECS support, because it seems to change every week and I barely know how it works yet |
• No UI support in overlay mode, though you can use camera-based or world-space UI to work around it |
• Applying custom shaders is currently difficult unless you know how to code shaders, since every shape has a very specialized shader |