Sharq UI System Core


Use the Asset Store upgrade and pay the difference; do not buy twice. Updates. ... Open Window/SUS/Setup Project. ... Further samples ship under Assets/Sharq/Samples. Requirements


by Sharq IT


Price History +

Free single-file components for Unity UI Toolkit: write .sharq (template + script + style), get plain C# and scoped USS. Reactive core, router, themes, overlay host, console — MIT, self-contained.

Write a Unity UI component as one file. Get plain C# and USS out.

Sharq UI System Core — SUS Core for short, which is where the Sus prefix throughout the API and the --sus-* style tokens comes from — brings the single-file component workflow to Unity UI Toolkit. You write a .sharq file with three sections — <template>, <script>, <style> — and the Editor-time compiler generates a normal [UxmlElement] partial class : SusComponent plus scoped USS. There is no runtime interpreter, no reflection in the render path, and no proprietary renderer: the output is ordinary C# you can read, step through in a debugger, and open in UI Builder.

This Asset Store package is self-contained: it includes both the framework (Core) and the router. Import into a clean project and press Play — no git, no extra downloads, no Package Manager git-URL.

Reactivity

Prop<T> holds state, Computed<T> derives it, Watch and WatchEffect react to it, and EffectScope disposes a whole group at once. Bindings are registered per component and released automatically when the element leaves the panel, so a screen that is closed stops doing work. Template expressions compile into BindText, BindClass, BindShow, BindVisibility, BindList and BindModel calls — the same API you can call by hand from C#.

Template syntax

v-if / v-else / v-show for conditionals, v-for for lists with key checking, :prop for one-way binding, @event for handlers, named and default <slot>s for composition, and provide / inject for passing context down a tree without threading it through every constructor.

Styling

Styles in a component's <style> block are scoped: the compiler rewrites selectors so a rule cannot leak into another component. On top of that sits a three-layer token cascade — palette, theme, design tokens — exposed as var(--sus-*) custom properties, with Dark and Light themes included and .theme-* classes applied through SusThemeService. Responsive layout uses SusBreakpointService, which keeps .breakpoint-* classes on the root in sync with the panel size. USS edits hot-reload in play mode; template edits reload without a full recompile in most cases.

Router (included)

Navigation ships in this package: routes, guards, nested screens, a modal stack, KeepAlive and transitions. You do not install a second download for routing.

Also included

  • Overlay host — a portal container with ordered layers for popups, tooltips and modals, so overlays escape parent clipping and still resolve theme tokens.
  • World-space UI — WorldSpaceService drives UI on a world panel for nameplates and markers.
  • Runtime console — SusConsoleService with a ~ hotkey, filtering, search and Tab completion, plus a devtools overlay.
  • Icons — 127 SVG icons built in, addressed by semantic alias ("settings", "gold") and weight suffix ("star-fill"). The full Phosphor set is an optional sample on the GitHub git-package of Core; it is not inside this Asset Store download (keeps the package small).
  • QA audits — 21 opt-in debug modules that report layout re-entry, remount loops, focus traps, dead routes, oversized click targets and similar problems while you develop.
  • Editor tooling under Window/SUS: Setup Project (writes a working .sharq screen into your project), Validate Setup, a runtime tree Inspector, a Theme Editor, and Sharq code generation.

Do not install this package and the GitHub git-packages at the same time.

Core and Router are also available free on GitHub as Unity Package Manager git-URLs (com.sharq-it.sus.core / com.sharq-it.sus.router). Do not keep those UPM packages and this Asset Store import in the same project. Two copies of the same assemblies produce CS0433 / «Assembly with name … already exists». The editor tool SUS Set Doctor reports SetDoctor.UpmCollision when it can run (remove the UPM package or Assets/Sharq/Core / Assets/Sharq/Router). If both full copies appear on the first import of a clean project, Unity can reject the editor assemblies before Doctor starts — you will only see compiler errors. Pick one channel. The GitHub git-URL remains the second free channel for people who prefer Package Manager; this listing is the classic import.

Upgrade path. This is the free framework layer — the bottom rung of Core → Kit → Complete. Need 69 ready widgets? Sharq UI System Kit ($50) contains everything in this package plus the UI library. Need HUD, inventory, shops and game screens? Sharq UI System Complete Bundle ($80) contains Kit plus the game layer. Use the Asset Store upgrade and pay the difference; do not buy twice.

Updates. This Asset Store listing is updated on minor versions. Patch releases land on GitHub first — the latest source is always https://github.com/antaresdk/sus-core and https://github.com/antaresdk/sus-router. If you installed from the Asset Store, My Assets → Update follows listing versions.

Getting started

Open Window/SUS/Setup Project. It writes HomeScreen.sharq, its generated C#, and an entry MonoBehaviour into your project; press Play and you have a themed, reactive screen you can start editing. Further samples ship under Assets/Sharq/Samples.

Requirements

  • Unity 6000.3 (6.3) or newer. This is a hard floor: the icons are SVG assets imported by the vector graphics module built into Unity 6.3, and on earlier versions they do not import at all.
  • UI Toolkit only. This package does not target uGUI / Canvas.
  • Depends on com.unity.ugui (Unity registry, resolved automatically). This is not uGUI content: runtime UI Toolkit input is delivered through an EventSystem, and Unity ships both the UnityEngine.EventSystems types and its own UI Toolkit input bridge (PanelRaycaster, PanelEventHandler) inside that package. The package creates the EventSystem and the matching input module for you, picking InputSystemUIInputModule when the Input System package is active and StandaloneInputModule otherwise.

Good to know before you install

  • Compilation happens in the Editor, not at runtime. .sharq files are compiled by an AssetPostprocessor into C# that ships in your build; you cannot author or compile components at runtime.
  • Generated files live in a directory you configure (Assets/SusUI/Generated by default) and are meant to be regenerated, not hand-edited.
  • Ready-made widgets (buttons, tables, dialogs, HUD elements) are not in this package. This is the framework layer; you build components on top of it or upgrade to Kit / Complete.
  • Importing this set over Kit or Complete overwrites shared root files (LICENSE.txt and others) with the Core provenance marker. SUS Set Doctor reports RootFileProvenance (a warning, not a delete). Re-import the larger set to restore its root files.

Third-party licensing

This package includes third-party components, each under its own license, reproduced in full in Third-Party Notices.txt in the package root:

  • Phosphor Icons — MIT License, Copyright (c) 2023 Phosphor Icons.
  • Montserrat — SIL Open Font License 1.1, Copyright 2024 The Montserrat Project Authors. Reserved Font Name: "Montserrat".

Sharq UI System Core and Router are also available free on GitHub under the MIT License.

Community & support: support@sus-ui.dev · Discord https://discord.gg/gwS9nwqWWj · Telegram https://t.me/sus_public · Docs https://sus-ui.dev