UI Packs
Dusk Panel UI Kit — title-barred panels and buttons
18 dusk purple interface sprites: title-barred nine-slice panels, a tooltip, a header bar, a divider, a chip and twelve square button states. SVG plus transparent PNG.

About this pack
A hard-edged kit for pixel games that still want a real menu, with the title bar built into the panel rather than bolted on. There are no rounded corners and no anti-aliasing anywhere: every border is a single flat pixel row, which is the only way a panel keeps its shape when a player runs the game at 3x on a 4K monitor. The violets are cool enough that amber reads as an alert without needing red.
Two nine-slice panels — a title-barred window frame with 16 px corners and a recessed inset frame with 12 px corners — cover almost every box a menu needs: dialogs, inventory grids, list backgrounds, tooltips and stat panels. A title band is built into the top of the panel, so a dialog header needs no second sprite and no manual alignment. Both stretch cleanly to any size because the corners never scale and the centre is a flat fill.
On top of the panels sit twelve square button sprites: default, hover, pressed and disabled, each drawn three times — a standard 96×32 bar, a square icon button and a compact button for toolbars and inline actions. The three sizes are separate files rather than one scaled sprite because the drawing is size-dependent: the chamfer computed at 32 px is recomputed at the smaller ones, not shrunk. The pressed state drops its face two pixels and removes the top highlight rather than just darkening, which is what makes a button feel clicked rather than merely recoloured.
Four smaller parts cover what a menu needs between the panels: a tooltip with a pointer tail, a header bar that sits along the top of a panel, a section divider with a centre mark, and a label chip for counts and status tags. None of them are the window panel at another size — a nine-slice already stretches to any size, so a second file at a different width would be filler rather than a component.
Everything ships twice. The SVG sources are the files the kit was drawn in — open them, change the six night-violet tones or the single amber accent, and re-export. The PNG exports are flat, transparent and pre-scaled at 1x, 2x and 4x for engines that want bitmaps, with no premultiplied alpha and no baked-in shadow outside the sprite bounds.
Download
Direct link · no sign-up · no wait pageComplete kit — SVG sources, PNG exports at 1x/2x/4x, licence and readme
How to use it
- In Unity, import the PNGs, set Texture Type to Sprite (2D and UI), and set the border to 16, 16, 16, 16 for the window panel and 8, 8, 8, 8 for the buttons; then set Image Type to Sliced on the UI component.
- In Godot 4, use a NinePatchRect and set the patch margins to the same numbers, or drop the SVG straight in and let Godot rasterise it at the scale you set in the import options.
- In Unreal, import as a Texture2D, create a Slate Brush with Draw As set to Box, and enter the margin as a fraction of the texture size — 0.2 for the 80 px panel and 0.08333 for the 96 px button.
- For crisp results at non-integer UI scales, use the 2x or 4x PNG rather than upscaling the 1x, or point your engine at the SVG source and let it rasterise at the final size.
- Every edge lands on a whole pixel and nothing is anti-aliased, so import the 1x PNG with filtering set to Point (Unity), Nearest (Godot) or Nearest-Neighbour (Unreal) and scale by whole numbers only.
License
Creative Commons Attribution 4.0 — Free for commercial use. Credit required. Full terms · What this means in practice
"Dusk Panel UI Kit — title-barred panels and buttons" by Oğuzhan Girgin, licensed under CC BY 4.0 — https://www.colorosse.com/assets/2d/ui/dusk-panel-ui-kit


