Use reusable content collections for readable hints, context-aware messages and localized fallback copy.
Create a tip collection#
- Choose + Add tip, or select an existing entry.
- Edit Text and optional Localization Key/Image.
- Set Weight and Duration; use tags for authoring/search.
- Choose collection Selection, Recent History and readable Fallback copy.
- Add a Tip layer in Designer.
| Setting | Meaning |
|---|---|
| Sequential | Cycle eligible entries in sequence. Random and Weighted Random are alternatives. |
| Recent History = 2 | Avoid recent entries while other eligible choices exist. |
| Fallback | Used when no tip is eligible. |
| Weight | Relative choice weight. Zero excludes an entry. |
| Duration | Entry display interval. |
Eligibility filtering happens before random/weighted selection. Run a longer preview to check reading time.
Smart Tip rules#
- Select a tip and open Smart Tip rules.
- Add a Scene Tag, Player Flag or Input condition.
- Set the comparison/value. Player Flag also needs its key.
- Enable Match All for AND, or disable it for OR.
- Set Missing Matches deliberately and retain useful fallback copy.
The screenshot has no condition yet. Match All alone does not create a filter. Duplicate tip creates a new entry ID; Remove tip removes the selection.
| Rule | Matching request context |
|---|---|
| Scene Tag Contains forest | request.context.sceneTags.Add("forest") |
| Player Flag chapter Equals 2 | request.context.playerFlags["chapter"] = "2" |
| Input Equals Gamepad | request.context.input = "Gamepad" |
Equals matches exact values. Scene tags join into a string, so Contains is useful for a single tag. Missing context follows Missing Matches; it is not automatically inferred from the player.
CSV import and export#
Use Import CSV and Export CSV in the Tips toolbar. Import validates before offering Replace or Append. Keep a copy before replacing a collection.
id,text,localizationKey,tags,weight,duration
"forest-01","Follow the trail.","tips.forest.01","forest",1,6
"forest-02","Watch the canopy.","tips.forest.02","forest",2,8The text column is required. Missing IDs are generated; duplicate IDs are rejected and Append cannot reuse existing IDs. Weight is nonnegative and duration positive; use invariant decimal notation. Quote commas, escaped quotes and line breaks. These six columns do not exchange images or eligibility-rule trees.
Connect localization#
LoadingContext.localize reads keys through your string source. No localization package is mandatory. Return null for a missing key to keep authored fallback copy.
var request = LoadingScreenBuilder.CreateSceneRequest("Level01");
request.context.localize = key =>
key == "tips.forest.01" ? "Stay on the forest trail." : null;
LoadingScreenBuilder.Show(request);Verify TMP glyph coverage, translation length and wrapping. A localization key does not create a translation on its own.