Skip to content

Home screen

Three config.json fields shape the home screen experience:

FieldAffectsApplies to
disabledAppsHides apps entirely (home + switcher + App Store).All characters.
homeOrderInitial home-screen icon order.New characters only.
featuredAppsPins apps in the App Store’s Featured strip.All characters.

Plus an optional escape hatch for app authors:

FieldPurpose
home.requiredAppsApps whose launchers must remain on the home screen even if a player tries to remove them.

The most common reason to edit config.json: replace a built-in app with a server-specific one. Add the built-in’s ID to disabledApps:

{
"phone": { "disabledApps": ["banking", "messages"] }
}

Built-in IDs:

settings, notes, memo, contacts, messages, dialer, calculator, clock,
camera, gallery, bump, fun, social, glimpse, marketplace, bills, calendar,
jobs, garage, mail, banking, govid, store, directory, weather, maps,
properties, health, business

Disabling an app:

  • Removes it from the home screen.
  • Removes it from the app switcher (parked apps are evicted).
  • Removes it from the App Store catalog.
  • Does not delete its database tables. Re-enabling restores the data.

homeOrder is the first-boot layout for new characters. Listed apps come first, in the order you write them. Unlisted apps follow in registration order.

{
"phone": {
"homeOrder": ["messages", "contacts", "dialer", "camera", "gallery", "maps"]
}
}

Existing characters with a saved layout are unaffected — homeOrder won’t reorder anyone who’s already played. To force a layout reset, the player can long-press → Reset home screen in edit mode.

featuredApps pins apps in the App Store’s Featured strip. Accepts both built-in IDs and external app IDs registered via RegisterExternalApp.

{
"phone": {
"featuredApps": ["my-gov-app", "marketplace"]
}
}

External apps can also flag themselves as featured at registration time; featuredApps always wins when set.

home.requiredApps makes specific app launchers un-removable from the home screen. The default policy already protects the core OS apps (settings, dialer, camera, Gov ID, and App Store); add to this list when an external app is mission-critical to your server.

{
"phone": {
"home": { "requiredApps": ["my-gov-app"] }
}
}

This does not pin the icon’s position — only that some launcher pointing at this app must remain on a home page.

Widgets (2x2 and 4x2 home-screen tiles) live alongside app icons on the same grid. They’re not configured in config.json; players add them through edit mode → + → widget picker. App authors register widgets through registerApp({ widgets: [...] }) — see Extension → External apps.