Client Addons

Client Phone Usage Guide

The client phone addon provides the in-game phone UI for contacts, SMS messages, email, and local utility apps such as notes, calendar events, world clocks, and alarms.

Client Phone Usage Guide

The client phone addon provides the in-game phone UI for contacts, SMS messages, email, and local utility apps such as notes, calendar events, world clocks, and alarms.

Open Phone UI

call forge_client_phone_fnc_openUI;

The phone UI creates RscPhone, loads ui/_site/index.html, and routes browser alerts through forge_client_phone_fnc_handleUIEvents.

State Ownership

Contacts, messages, and emails are server-owned and requested through the server phone addon.

Local utility app state is stored in profileNamespace:

  • notes
  • calendar events
  • world clocks
  • alarms
  • theme/preferences

Phone Class

forge_client_phone_fnc_initClass creates GVAR(PhoneClass).

The phone class currently owns local notes, events, and settings helpers. Contacts, messages, and emails continue to use server-backed request/response events.

Browser Events

Session and Preferences

EventClient behavior
phone::get::playerSend player UID to browser with setPlayerUid.
phone::get::themeSend saved light/dark theme to browser.
phone::set::themeSave theme preference to profileNamespace.

Contacts

EventClient behavior
phone::get::contactsLoad cached contacts and request server refresh.
phone::refresh::contactsRequest contacts from server.
phone::add::contactAdd contact by phone number.
phone::add::contact::by::phoneAdd contact by phone number.
phone::add::contact::by::emailAdd contact by email.
phone::remove::contactRemove contact by UID.

Messages

EventClient behavior
phone::get::messagesRequest messages from server.
phone::get::message::threadRequest thread with another UID.
phone::send::messageSend SMS through server.
phone::mark::message::readMark message read on server.
phone::delete::messageDelete message on server.

Email

EventClient behavior
phone::get::emailsRequest emails from server.
phone::send::emailSend email through server.
phone::mark::email::readMark email read on server.
phone::delete::emailDelete email on server.

Local Utility Apps

EventClient behavior
phone::get::notesLoad local notes.
phone::save::noteSave local note.
phone::delete::noteDelete local note.
phone::get::eventsLoad local calendar events.
phone::save::eventSave local calendar event.
phone::delete::eventDelete local calendar event.
phone::get::clocksLoad local world clocks.
phone::save::clockSave local world clock.
phone::delete::clockDelete local world clock.
phone::get::alarmsLoad local alarms.
phone::save::alarmSave local alarm.
phone::delete::alarmDelete local alarm.
phone::toggle::alarmToggle local alarm enabled state.

Usage Rules

  • Send contact, message, and email mutations to the server phone addon.
  • Keep local-only utility apps in profileNamespace until they are migrated to server-backed storage.
  • Do not treat local phone utility state as shared multiplayer state.
  • Validate required UID, phone, email, subject, and message fields before sending server requests.
Copyright © 2026