UI Packs

Blocks Panel UI Kit — single-framed panels and buttons

18 chunky voxel interface sprites: single-framed nine-slice panels, a tooltip, a header bar, a divider, a chip and twelve square button states. SVG plus transparent PNG.

  • ui
  • svg
  • transparent png
  • nine-slice
  • panel
  • button
  • menu
  • plain
  • voxel
  • blocky
  • isometric
  • cube
chunky voxel game menu panel with a signal orange title strip and a recessed list area, next to a column showing the same square button in default, outlined hover and pushed-in pressed states
1600×1115 previewtransparency shown as checkerboard

About this pack

Panels drawn as solid blocks rather than as rectangles: each one carries an extruded top face and a right face at a fixed light angle, so the kit has depth without a single gradient in it. Corners are square because a voxel has no radius, and the whole set snaps to a 6px grid.

Two nine-slice panels — a single-framed window frame with 0 px corners and a recessed inset frame with 0 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 twelve square button sprites: default, hover, pressed and disabled, each drawn three times — a standard 132×48 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 48 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 cool stone tones or the single signal 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 ZIP44 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 readmeZIP44 kB Get →
Window panel, editable SVGSVG886 B Get →
Button (default state), editable SVGSVG626 B Get →

How to use it

  1. In Unity, import the PNGs, set Texture Type to Sprite (2D and UI), and set the border to 0, 0, 0, 0 for the window panel and 0, 0, 0, 0 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 — for the 120 px panel and for the 132 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 Zero 1.0 — Public domain. No credit required. Full terms · What this means in practice