Skip to content

v4.0.0

Choose a tag to compare

@ammariqais ammariqais released this 06 Mar 01:12
· 33 commits to main since this release

New: HB InputField

Full-featured input field component built on HB_TEXTBlock, similar to TMP_InputField.

  • Content types — Standard, Integer, Decimal, Alphanumeric, Name, Email, Password
  • Line types — SingleLine, MultiLine
  • Text settings — font, font size, font color, bold, italic, alignment, rich text
  • Placeholder — configurable text and color
  • Auto-resize — multiline fields grow height to fit content (min/max bounds)
  • Text scrolling — horizontal for single-line, vertical for multiline
  • Caret — configurable color, blink rate, width, or hide completely
  • Selection — click, double-click (word), triple-click (all), Shift+arrows, Ctrl+A
  • Clipboard — Ctrl+C, Ctrl+V, Ctrl+X
  • Navigation — arrow keys, Ctrl+arrows (word jump), Home, End
  • Tab navigation — Tab/Shift+Tab between fields
  • Select all on focus option
  • Read-only mode — custom background and font color
  • Focus highlight — optional background color change
  • Mobile support — hide native input overlay on iOS/Android
  • Character limit and password masking
  • Events — onValueChanged, onSubmit, onEndEdit, onFocus, onUnfocus
  • Custom inspector with organized sections
  • Gizmo icon — orange "IF" icon in Hierarchy/Inspector
  • Menu item — GameObject > Skia UI (Canvas) > HB InputField

HB TextBlock - New Features

  • Vertical alignment — Top, Middle, Bottom
  • Text direction — LTR, RTL, Auto
  • Font weight — 100 (Thin) to 900 (Black)
  • Font variant — Normal, SuperScript, SubScript
    Rich text<b> <i> <u> <s> <sup> <sub> <size=N> <color=#HEX> <color=name>
  • Fallback fonts — array of HBFontData assets for multi-language support
  • Paragraph spacing — configurable extra space between paragraphs
  • Padding — Left, Top, Right, Bottom text area padding
  • Link detection — automatic URL rendering with click callbacks (onLinkClicked)
  • onTextChanged event
  • ILayoutElement implementation for Unity layout system integration
  • AddComponentMenu — Skia UI (Canvas) / HB TextBlock

HB TextBlock Editor - TMP-Style Redesign

  • Section headers with theme-aware styling (dark/light mode)
  • Collapsible Effects and Extra Settings sections
  • B/I/U/S toggle button strip
  • Compact spacing row (Letter + Line side-by-side)
  • Alignment button strips — horizontal, vertical, direction
  • Font weight slider, font variant, padding fields
  • Gradient stops editor with add/remove
  • Overflow controls (Max Lines + Ellipsis)
  • Auto Size with max constraints
  • Appearance (Background, Raycast Target, Maskable)
  • Text Info panel (words, lines, chars, measured size)
  • Live preview panel
  • Tooltips on every field

Performance

  • SKTypeface caching — shared static cache with reference counting, avoids reloading fonts per component
  • SKSurface reuse — surfaces are reused when size and format match, only recreated when dimensions change
  • FontMapper caching — FontMapper objects reused when typeface hasn't changed
  • Pixmap-only disposal — only pixmap is disposed between renders, surface kept for reuse
  • Reduced per-render allocations — cached objects avoid GC pressure during text rendering

Documentation

  • Updated getting started guide, tutorials, and API docs
  • Covers all components: HB TextBlock, HB InputField, HB Text Animator, Skottie Player, SVG
  • Regenerated Doxygen HTML with doxygen-awesome theme