v4.0.0
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