Skip to content

Stratkit Save Account Reminder

System that decides when to show "Registration Reminder" for guest users. It never creates UI - it only raises events your UI layer reacts to.


What it does

  • Runs only for guest players (no PlayerEmailComponent).
  • Lives in the Persistent world, but tracks two environments:
    • Persistent (lobby / menus)
    • Map (visible map world)
  • Emits SaveAccountReminderEvent when it’s time to show the popup.
  • Your UI system:
    • Listens for SaveAccountReminderEvent
    • Opens the dialog
    • Destroys the event entity when the dialog closes

Timing model

  • Per-session singleton SaveAccountReminderTimer tracks:
    • PersistentTime / PersistentShows
    • MapTime / MapShows
    • Cooldown after manual request
    • Delay after map mission requirements are met
  • SaveAccountReminderConfig drives behaviour:
    • persistentRule and mapRule
      • enabled, intervalSeconds, maxShowsPerSession
    • Map mission gating:
      • missionIds (mission DataId that can unlock map reminders)
      • triggerAfterMeetingGameGoals (fallback by rewarded GameGoals)
      • delaySecondsAfterMapMissionRequirementsSatisfied
      • persistent flags:
        • IsMapMissionRequirementSatisfied
        • IsMapMissionReminderShownAfterRequirements
    • cooldownSecondsAfterRequest (shared for both environments)

Automatic reminders

Automatic SaveAccountReminderEvent is emitted only when:

  • User is a guest
  • Current environment rule is enabled
  • Show count < maxShowsPerSession
  • Environment timer ≥ intervalSeconds
  • For Map: mission / goal gating is satisfied
  • Mission-delay and cooldown are finished
  • No SaveAccountReminderAutoBlockTag exists

When fired:

  • Increments PersistentShows or MapShows
  • Resets PersistentTime or MapTime
  • Emits SaveAccountReminderEvent
  • First automatic Map reminder after gating also sets IsMapMissionReminderShownAfterRequirements

Manual requests

Use SaveAccountReminderRequest when you want to show the popup on demand:

  • Always emits a reminder immediately in the current environment (Persistent / Map)
  • Ignores SaveAccountReminderAutoBlockTag (manual always works)
  • Flags:
    • ShouldResetTimer – reset timer for current environment after showing
    • ShouldIncreaseShowsCount – counts towards per-session show limits
  • Starts shared cooldown (cooldownSecondsAfterRequest) so automatic reminders wait before firing again

Blocking autos

Use SaveAccountReminderAutoBlockTag to pause automatic reminders:

  • While present:
    • Automatic reminders are held back
    • Manual SaveAccountReminderRequest still works
  • Timers and mission gating still update in the background → when the block is removed, automatic behaviour resumes from the current state