Documentation in beta. Some text and images will be reworked as the app settles into 1.0. If a section reads stale, flag it via the feedback form.

Profiles

A profile is a complete set of tuning values — every slider on the Tuning page — saved under a name. Profiles are local files. They don't sync, they don't phone home, and you can copy them between machines with plain filesystem tools.

Profiles page. Left column: starter presets (read-only). Right column: your saved profiles, with load / duplicate / rename / delete actions.
Figure 1. Profiles page. Left column: starter presets (read-only). Right column: your saved profiles, with load / duplicate / rename / delete actions.

Where profiles live

  • Windows %APPDATA%\ffb-bridge\profiles\
  • Linux ~/.config/ffb-bridge/profiles/ (honours $XDG_CONFIG_HOME when set)

Each profile is a single YAML file named after the profile, with spaces replaced by dashes and non-ASCII stripped. Copying one across machines is as simple as putting the file in the same folder on the other side.

Starter presets

FFB-Bridge ships with a small library of starter presets — the Cessna 172 Skyhawk is the one guaranteed starter; more are on the roadmap as we profile more aircraft. Starters are read-only. You can load them to fly, but you can't Save over them — use Save as… (or Duplicate from the Profiles page) to get an editable copy.

Starter presets column. Each card lists the aircraft, a short note on how the tune emphasises its flight envelope, and a Duplicate action.
Figure 2. Starter presets column. Each card lists the aircraft, a short note on how the tune emphasises its flight envelope, and a Duplicate action.

Saving a profile

The shortest path: go to Tuning, adjust until it feels right, click Save as…. Name it after the aircraft — Cessna 172 — my feel, King Air C90 — heavy roll, etc. The new profile becomes the active profile immediately.

From this page you can also:

  • Duplicate — clone an existing profile under a new name.
  • Rename — change the visible name (and the underlying filename).
  • Delete — with confirmation. Cannot be undone inside the app; recover from filesystem backup if you need to.
  • Load — make a profile active without visiting the Tuning page.

Switching profiles in flight

Loading a profile from the Profiles page — or from the picker at the top of the Tuning page — applies on the next 50 Hz tick. The stick stays armed through the change; you'll feel the forces reshape as the new sliders take effect.

Loading does not save

If you'd modified the previous profile's sliders without saving, switching away discards those changes. The profile picker shows an amber dot whenever the active profile is dirty — if you see it, save before loading.

Sharing profiles

The profile YAML file is portable. If a friend sends you Cessna-172-smooth.yaml, drop it into your profiles folder and it shows up on the Profiles page the next time you open it. The reverse works too — grab the file and email it.

Possible future

A profile-sharing feature — browse tunes other users have published, subscribe to one a friend made — is on the maybe-later list. Nothing is decided yet. See the pricing section for the broader discussion of what a paid tier might look like.

The YAML schema

Each profile file is strict YAML: every field has a known key, unknown keys are rejected on load. This is deliberate — it keeps third-party tools that write profiles in a known shape from ever shipping invalid files.

version: 1
name: Cessna 172 Skyhawk
notes: |
  Starter preset tuned for the default Skyhawk at typical cruise
  speeds. Firm centring, mild aerodynamic loading.

master_gain: 1.0

centring:
  base: 0.6
  g_gain: 0.2
  min: 0.35
  max: 0.95
  deadband: 0.04

aero_loading:
  pitch: 0.85
  roll: 0.70

# … one block per effect group, schema continues …

You generally shouldn't need to hand-edit these — the Tuning page is faster — but reading them to diff two profiles (diff cessna-defaults.yaml cessna-my-feel.yaml) is often the quickest way to see what you actually changed.

An unhandled error has occurred. Reload 🗙