HintOnce — First-Time Hints With One Line of Code
Show a first-time hint with a single line of code. No prefab, no canvas, no manager: the overlay builds itself and shows each hint only once. Full C# source, free.
by schnurbusch
Price History +
Every game has to explain itself the first time a player opens the shop, the map, the inventory. Building that means a prefab, a canvas, a manager, a "have they seen it?" flag — for a card with two lines of text.
HintOnce is that card, minus the work:
Hint.Show("first_shop", "The Shop", "Spend coins on upgrades here.");
That is the whole integration. The FIRST time this line runs, a styled hint card appears over your game. Every later time, it does nothing. No prefab to place, no canvas to configure, no manager to drag into a scene — the overlay builds itself the first time it is needed and survives scene loads.
WHAT YOU GET
- One-line API: Hint.Show(id, title, body) — that's the integration
- Shows once per id, remembered across sessions (PlayerPrefs)
- Optional callback that also fires for already-seen hints, so coroutine chains never stall
- Several hints in the same frame queue up instead of overwriting each other
- Full theming: colors, badge/button labels, card size, sorting order; dark and light themes
- Events for audio and analytics — no dependency on any specific audio system
- Reset(id) / ResetAll() for "New Game", plus a Reset All Hints editor command
- Interactive demo that builds its UI at runtime
- Full C# source, no DLLs, no external dependencies
WHAT IT IS NOT
A tutorial framework: no arrows pointing at buttons, no multi-step tours, no highlight cut-outs. It does the 90% case — "explain this thing once" — in one line.
REQUIREMENTS
Unity 6+ with uGUI and TextMeshPro (both ship with Unity 6). Works on all platforms including WebGL and mobile, with both input backends, and is Fast Enter Play Mode safe.
Extracted from the shipped game Famechaser, where it explains day planning, the studio and the shop the first time each is opened.