Getting started
SUS is a set of Unity packages. Start with the free Core + Router, then add Kit / Game when you need the component library.
Requirements
- Unity 6000.0+ (UI Toolkit)
- Git (for UPM git dependencies)
Install free packages (git UPM)
In your Unity project Packages/manifest.json:
json
{
"dependencies": {
"com.sharq-it.sus.core": "https://github.com/antaresdk/sus-core.git#v1.0.3",
"com.sharq-it.sus.router": "https://github.com/antaresdk/sus-router.git#v1.0.2"
}
}Prefer a release tag (e.g.
#v1.0.3/#v1.0.2) for reproducible installs;#maintracks tip.
First screen
- Prefer
Window → SUS → Setup Project— createssus.config.jsonand copies a pre-baked starter (HomeScreen.sharq+ its already-generatedGenerated/HomeScreen.g.cs+SusAppentry). No first generation is needed — it compiles out of the box (avoids chicken-and-egg). - Or follow the full Integration guide (entry point, overlay vs world-space, generation order).
- Without generated
.g.cs, code thatMounts a screen will not compile — and a broken domain may block Sharq from regenerating itself. Details in that guide’s Critical section.
Minimal .sharq (App.sharq — the type Mount<App>() below refers to):
xml
<!-- App.sharq -->
<template>
<ui:Label $MainElement :text="Message" class="greeting" />
</template>
<script>
public string Message = "Hello SUS!";
</script>
<style>
.greeting {
font-size: 24px;
color: white;
-unity-text-align: middle-center;
}
</style>Layout and look belong in
<style>(USS). Prefer classes over C#element.style.*. Details: .sharq format · full guide.
csharp
public class AppEntry : MonoBehaviour
{
public UIDocument uiDocument;
void Start() =>
Sharq.Core.SusApp.Create(uiDocument)
.UseTheme(SusTheme.Dark)
.Mount<App>(); // creates OverlayHost + world panel
}Next
| Topic | Link |
|---|---|
| What is SUS? | Overview |
| Full core guide | Guide |
.sharq + <style> | Format · CSS scoping |
| Reactivity | Prop / Computed / Watch |
| Router | Router docs |
| Components | Catalog |
| Pricing | Kit & Game |