Skip to main content

Overview

App Config is not App Settings. These are two different panes, one icon apart in the sidebar’s CONFIG group, and confusing them is the single easiest mistake to make in this area.
  • App Settings is the gear icon. It holds the app’s identity and packaging: project and package names, the entry page, the icon and splash, the deep link scheme, and the languages the app ships with. That is this page.
  • App Config is the palette icon, inside Theme Settings. It holds the app shell: navigation type, tab bar, header, breakpoints and scale.
If you are looking for navigation type or breakpoints, you want App Config.
Everything else in Studio edits a screen, a component or a token. App Settings edits the app. None of it changes how a page looks on the canvas. All of it changes what the exported app is.

Theming

Colour tokens, the typography scale, and App Config, which is the pane this one is confused with.

Opening App Settings, reading App Details and App Assets, setting a Deep Linking scheme and clearing it again, then reading the Languages pane's three tabs.

The recording above is a real, unscripted session — it runs at automation speed with no narration. The Deep Linking scheme typed on camera is cleared again before the session ends, and confirmed empty on a fresh reload afterward — no locale is added, matching how this pane was verified.

Open it and read what is in it

In the left sidebar, expand CONFIG and click the gear icon. The group starts collapsed, and its buttons are not rendered at all until you expand it, so an apparently missing gear icon usually means a collapsed group. The pane opens on App Details and has its own navigation column with a search box.
The App Settings navigation column

The App Settings navigation column: a search box, then the GENERAL and PROJECT SETUP groups

Four panes are available, in two groups: Each has its own section below.
The search box filters the navigation column, groups included. Typing lang narrows it to the entry that matches.
There is no Save button in this pane, and no saving indicator either.Verified at the network level: editing Project Description and clicking away fired no save request of any kind, and the value was gone after a reload. The same edit did persist once a change was made in a different App Settings pane, which triggered a whole project save that swept it up.Do not trust an App Details edit on its own. Reload the project and check the field actually kept your value.

App Details

Names, the entry point, and one URL that reaches outside the project.

Editing Display Name and Theme API URL and reverting both, then touching Deep Linking to force the save this pane needs on its own.

The recording above is a real, unscripted session — it runs at automation speed with no narration, and it live-reproduces the bug in the Note above rather than just describing it. Display Name and Theme API URL are typed, cleared, and blurred exactly like any other field edit — and the first take of this recording, doing only that, left both fields reading the typed value on a fresh reload, not the cleared one. The published recording’s closing step — typing and clearing a scheme in Deep Linking — is what actually commits the reverts; without it, an App Details-only edit isn’t reliably saved at all.
The App Details pane

The App Details pane: Project Name, Project Description, an APP NAMES section with Package Name and Display Name, a STUDIO VERSION badge, INITIAL PAGE with Entry Page and Logged In Page, and RUNTIME THEMING with a Theme API URL field

Display Name falls back to Project Name. Its placeholder is literally the project name, so leaving it empty means the home screen name is whatever the project is called in Studio. If the app’s home screen name is wrong, set Display Name explicitly.
Entry Page and Logged In Page list the project’s real pages by their Studio names. Logged In Page additionally offers None, which is the honest state for a project with no authentication configured.
The Entry Page dropdown

The Entry Page dropdown open, listing the project's real pages with the current one ticked

App Assets

Splash screen, icons and the error image.

Hovering all seven Image Fit tooltips, setting and reverting Background Color and the Image Width unit toggle, then reading Icons & Error Image without uploading anything.

The recording above is a real, unscripted session — it runs at automation speed with no narration. Background Color is taken from Unset to Primary and back, and the Image Width unit toggle from PX to % and back — both confirmed reverted, the color on a fresh reload afterward. Nothing is uploaded to any of the three image targets, which stay Unset throughout.
The App Assets pane

The App Assets pane: a Splash Image drop zone with Phone and Tablet previews, a SPLASH IMAGE SETTINGS card with image fit, size and colour controls, and an ICONS & ERROR IMAGE row with three Unset upload targets plus the home screen preview and icon tips

SPLASH SCREEN takes one Splash Image, with a recommended size of 1242 x 2688px, and shows live Phone and Tablet previews beside it. SPLASH IMAGE SETTINGS below it holds:
  • Image Fit, seven icon only buttons with no visible labels. Their tooltips, in order: scale to fit within bounds preserving aspect ratio; scale to fill bounds cropping if needed; display at original size centred; stretch to fill exact dimensions; tile to fill the space; no resizing applied; position at the bottom contained within width.
  • Image Width and Image Height, each with a px and percent unit toggle.
  • Min Duration (ms), the minimum time the splash is held.
  • Background Color and Pre-loading Color, both dropdowns of the project’s own theme colour tokens rather than free form colours. Their options are Unset, the sixteen tokens, then Custom.... Change a token in Theme Settings and the splash follows.
An Image Fit tooltip

The unlabelled Image Fit row with one button hovered, its tooltip reading Scale image to fill bounds, cropping if needed

ICONS & ERROR IMAGE holds three upload targets: Launcher Icon (app icon), Android Adaptive Icon (foreground layer) and Error Image (fallback image). Underneath sit three read only aids: a home screen preview with iOS and Android variants, an auto generated sizes row showing that you upload one image and Studio derives the rest, and Studio’s own icon tips:
Upload a square PNG, at least 1024x1024 px. Keep the design simple and avoid small text. Leave about 15% safe zone from the edges for Android adaptive masking. Use a solid or gradient background for best visibility.

Deep Linking

One field, and it does more than it looks like it does.

Typing a custom URL scheme, watching the empty-state banner change, then clearing it back to empty.

The recording above is a real, unscripted session — it runs at automation speed with no narration. The scheme is typed, held for a moment, then cleared and blurred with Tab — confirmed empty again on a fresh reload afterward.
The Deep Linking pane

The Deep Linking pane: a CUSTOM URL SCHEME field followed by a literal :// suffix, an information banner, and a HOW DEEP LINKS WORK list

Under CUSTOM URL SCHEME there is a text box, placeholdered app, followed by a literal ://. What you type is the scheme part of yourscheme://.... With the field empty, a banner tells you to enter a scheme to enable deep linking. Studio’s own three bullet explanation sits below it:
Each screen automatically gets a deep link based on its name and route parameters. Use deep links in push notifications, emails, or share them with users. Route parameters are automatically passed to the target screen.
Per screen deep links are automatic. You do not register them one by one. Setting the scheme is the whole setup, and the route and parameters each screen exposes come from its own page config.

Languages

The navigation entry is Languages, but the pane’s own heading is Localization. It is not a thin feature. It has three tabs and covers locale selection, a translation catalog with review states, runtime switching and an RTL linter.

Reading the locale rows and the Add locale search list, toggling Require approval before export off and back on, then reading Translations and RTL & Layout.

The recording above is a real, unscripted session — it runs at automation speed with no narration. Only the Require approval before export toggle is actually changed, off → on → off, confirmed reverted on a fresh reload afterward. No locale is added — the Add locale list is opened to show its options and dismissed without picking one, and neither Translations nor RTL & Layout is touched.
The Localization settings tab

The Localization Settings tab: the in-app switching notice, Default locale, Supported locales with an Add locale button, Fallback locale, RTL locales, three toggles, Number format locale, and a Remote translation catalog section

A notice at the top answers the runtime question directly: users can switch language inside the app at any time, and switching between left to right and right to left requires a one time reload, which is a React Native constraint.
Default locale and Fallback locale only offer locales you have already added. Add the locale under Supported locales first, then pick it as default or fallback.
+ Add locale opens a searchable list of 62 locales, each with a flag, its endonym, its English name and its code, including the four right to left ones: Arabic, Hebrew, Persian and Urdu.
The searchable Add locale list

The Add locale dropdown open, with a search box and entries showing each locale's flag, endonym, English name and code

Remote translation catalog, at the bottom, is the localization counterpart of App Details’ Theme API URL. The exported app fetches per locale JSON from a Catalog URL at runtime and overlays it on the bundled catalog, using {locale} as a placeholder. You also set When to fetch (on app launch, on locale change, or both) and Cache for (minutes). So translations can ship bundled and be patched remotely without a rebuild.

Where backend linking lives

Connecting Supabase is not part of App Settings. It lives in the sidebar’s own CONNECT group, under Database, and it is a credential free authorization handoff rather than a form. You click one button, authorize NativeFlow on Supabase’s own site, and then pick or create a project. Until a project has been through that handoff, the AI Assistant panel shows an orange banner saying no backend is linked. Treat the banner as a status indicator and open CONNECT → Database yourself.

Integrations

What Studio can connect to, and what each connection form asks of you.

Summary

App Settings is the app’s identity and packaging, not its shell. It holds four panes: App Details, App Assets, Deep Linking and Languages. There is no Save button and no saving indicator here, so reload and check any App Details edit you care about.