UI Packs

Charcoal Panel UI Kit — single-framed panels and buttons

Single-framed nine-slice chalk on slate window panels, inset list frames and four tab button states, as SVG plus transparent PNG at 1x, 2x and 4x.

  • ui
  • svg
  • transparent png
  • nine-slice
  • panel
  • button
  • menu
  • plain
  • hand drawn
  • dark ui
  • horror
  • mystery
chalk on slate game menu panel with a ember orange title strip and a recessed list area, next to a column showing the same tab button in default, outlined hover and pushed-in pressed states
1600×800 previewtransparency shown as checkerboard

About this pack

The same restless line as the light hand-drawn family, inverted: pale chalk on a dark ground. That inversion is not a recolour — a drawn line reads as ink when it is dark on light and as chalk when it is light on dark, and the stroke had to go from 3px to a heavier weight because a thin pale line on black disappears the moment anything is behind it.

Two nine-slice panels — a single-framed window frame with 12 px corners and a recessed inset frame with 10 px corners — cover almost every box a menu needs: dialogs, inventory grids, list backgrounds, tooltips and stat panels. A single continuous border keeps the panel quiet enough to sit behind dense text. Both stretch cleanly to any size because the corners never scale and the centre is a flat fill.

On top of the panels sit four tab button states: default, hover, pressed and disabled. They are drawn on the same 160×52 base with 6 px corners, so you can swap the texture on a single button widget and get the whole interaction loop without moving a rectangle. 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.

Everything ships twice. The SVG sources are the files the kit was drawn in — open them, change the six smoke grey tones or the single ember orange 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 page
Download ZIP96 kB

Complete kit — SVG sources, PNG exports at 1x/2x/4x, licence and readme

Files included in this pack
FileFormatSizeDownload
Complete kit — SVG sources, PNG exports at 1x/2x/4x, licence and readmeZIP96 kBGet →
Window panel, editable SVGSVG2.8 kBGet →
Button (default state), editable SVGSVG424 BGet →

How to use it

  1. In Unity, import the PNGs, set Texture Type to Sprite (2D and UI), and set the border to 12, 12, 12, 12 for the window panel and 6, 6, 6, 6 for the buttons; then set Image Type to Sliced on the UI component.
  2. 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.
  3. 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.09375 for the 128 px panel and 0.0375 for the 160 px button.
  4. 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.

License

Creative Commons Attribution 4.0 — Free for commercial use. Credit required. Full terms · What this means in practice

Copy-paste credit line
"Charcoal Panel UI Kit — single-framed panels and buttons" by Oğuzhan Girgin, licensed under CC BY 4.0 — https://www.colorosse.com/assets/2d/ui/charcoal-panel-ui-kit