UI with feeling. UX with sense.
Developed & maintained by Trustor Studio
Trusense is a modern, modular UI/UX framework for Unity β thoughtfully crafted by Trustor Studio to streamline the creation of high-quality, scalable user interfaces in games and interactive experiences.
Trusense focuses on:
- Emotional connection between UI and player (UX-first mindset)
- Clean architecture (separation of logic, visuals, and data)
- Developer productivity (easy integration and customization)
- Visual elegance (themeable, animated, responsive)
Whether you're building a mobile RPG, a console shooter, or a casual puzzle game β Trusense empowers your UI to be both functional and delightful.
Unity's default UI tools are powerful but often unstructured. Trusense offers:
- A clean, extensible architecture built on ScriptableObjects, events, and patterns like MVC & SOA.
- Centralized UI routing & navigation system.
- Modular components that can be composed like LEGO.
- Fully themeable interface with live theme switching.
- DOTween-based animation layer (with fallback).
- Unity Editor tooling for faster workflow.
Designed for production-scale projects.
| Feature | Description |
|---|---|
| π§± Modular UI Elements | Build menus, popups, and HUDs using reusable, composable elements. |
| βοΈ UI Router & Navigation | Stack-based routing system with back-navigation, push/pop & modal support. |
| π¨ Dynamic Theme System | Easily change fonts, colors, sprites globally via ScriptableObjects. |
| π Responsive Design | Supports screen ratios, safe areas, auto-layouts for mobile & desktop. |
| π Animated Transitions | Built-in support for DOTween & Unity Animator. Smooth UI flows. |
| π§ Editor Tooling | Visual preview, layout helpers, and in-editor UI testing. |
| π¦ Samples Included | Ready-to-use screens: main menu, settings, inventory, HUD, popups, etc. |
Trusense is built on a clean, decoupled architecture designed to scale.
[ UIManager ]
|
[ UIRouter ] <-- navigation & history
|
[ UIElements ] (Panels, Popups, Windows)
|
[ Theme System ] -- styles, fonts, colors
|
[ Transition Layer ] -- DOTween/Animator
Each UIElement supports:
Initialize()OnShow()OnHide()PlayShowAnimation()PlayHideAnimation()
You can override these for custom behaviors.
Trusense/
βββ Core/ # Base classes, managers, lifecycle
βββ Components/ # Buttons, panels, windows, modals, HUDs
βββ Theme/ # TrusenseTheme SO, colors, fonts, UI skins
βββ Animations/ # DOTween-based transitions
βββ Router/ # Navigation manager and screen stack
βββ Editor/ # Custom inspectors, layout tools
βββ Samples/ # Example scenes, demo UI
βββ Documentation/ # Guides and usage references
- Manual: Drag
Trusense/intoAssets/. - UPM (coming soon):
"com.trustor.trusense": "https://github.com/trustorstudio/trusense.git"
UIThemeManager.Instance.SetTheme(myTrusenseTheme);TrusenseUI.Show("SettingsPopup");UIRouter.NavigateTo("InventoryScreen");
UIRouter.Back();Attach TrusenseAnimator and define:
- Scale
- Fade
- Move transitions
Fallback if DOTween is not available.
You can override animation behavior per element via:
protected override void PlayShowAnimation() { ... }Trusense uses a ScriptableObject-based theme engine that supports:
- Font presets
- Color presets
- Spacing/margins
- Icon/sprite swaps
- Live switching at runtime
Example:
myButton.SetColor(Theme.Color.Primary);
myLabel.SetFont(Theme.Font.Bold);- Stack-based screen history for "back" logic
- Smooth transitions between contexts
- Prevents popup overlap, screen flicker
- Optional audio feedback on interaction
- Suitable for touch, controller, or mouse/keyboard
| Tool / Library | Version | Required |
|---|---|---|
| Unity | 2021.3+ (LTS) | β |
| TextMeshPro | Built-in | β |
| DOTween (Pro/Free) | Recommended | |
| Unity Input System | Optional | β |
| Game Type | Use Case |
|---|---|
| RPG | Inventory, Quest UI, Character stats |
| Mobile Puzzle | Popup flow, onboarding, hints |
| Strategy | Mini-map overlays, build menus |
| Action Shooter | HUD, ammo bar, damage indicators |
| Narrative Games | Dialogue UI, cutscene flows, choice trees |
(Add visual examples of your UI components, HUDs, and transitions.)
You can extend by:
- Creating new
UIElementsubclasses - Creating new theme fields (e.g. spacing)
- Hooking into
UIRouternavigation events - Integrating audio/sound feedback per element
- Keep one
UIRouterinstance per UI Layer. - Use
TrusenseThemefor global consistency. - Avoid hardcoding values β rely on theme + layout groups.
- Animate using DOTween for better control (vs Animator).
- Use
UIEventsto communicate between UI and gameplay.
MIT License
You are free to use, modify, and distribute in personal or commercial projects.
See LICENSE for full details.
Q: Can I use Trusense with Unity's new UI Toolkit?
A: Currently no. Trusense is based on the UGUI system (Canvas, RectTransform, etc.).
Q: Can I use custom animation engines?
A: Yes. You can override PlayShowAnimation() with any tweening logic.
Q: Does Trusense support mobile input?
A: Yes. Fully compatible with touch, controller, and keyboard input.
We welcome feedback, bug reports, and pull requests.
Coming soon:
CONTRIBUTING.md- GitHub Discussions
- π Trustor Studio Website
- π GitHub
- π Docs: Coming soon
- π§ Devlog: https://dev.trustorstudio.com/trusense
Trustor Studio is a game technology team based in Vietnam, focusing on building reusable, production-quality tools for Unity developers. We believe great tools create great experiences β both for players and creators.
βWe design systems so players can feel, not just see.β