> For the complete documentation index, see [llms.txt](https://w-labs.gitbook.io/w-labs-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://w-labs.gitbook.io/w-labs-docs/free-scripts/wlabs-tablet.md).

# WLabs Tablet

**WLabs Tablet** is a free tablet and phone resource for FiveM. It includes a full tablet UI, a standalone phone UI (WLabs or MyPhone layout), shared mail/contacts/gallery/Yap ecosystem, number-based Messages, Maps, and support for custom apps on either device. It runs on **Qbox** (`qbx_core`), **QB-Core** (`qb-core`), or **ESX** (`es_extended`).

Store link: [Download WLabs Tablet and Phone](https://wlabs.tebex.io/package/7401482?utm_source=docs\&utm_medium=documentation\&utm_campaign=tablet)

## What's included

| Device     | Default open                     | Notes                                                                                                           |
| ---------- | -------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| **Tablet** | `F3` keybind (configurable)      | Mail, maps, camera, gallery, banking, garage, businesses, stocks, paint, calendar, Yap, video call, and more    |
| **Phone**  | `/wphone` command (configurable) | Same app ecosystem plus **Phone** (voice) and **Messages** (SMS). Optional MyPhone layout via `wphone_myphone`. |

Both devices share most apps. The Phone and Messages apps are phone-only. Disable either device with `Config.Tablet.Enabled` or `Config.Phone.Enabled` in `config.lua`.

With `Config.DeviceMode = 'sim'`, phones and tablets are physical inventory items. Phones use removable SIMs for phone number/account data; tablets store tablet data on the tablet item. Admins can assign custom numbers with `/setnumber` or `/givesim`. See [Devices and items](/w-labs-docs/free-scripts/wlabs-tablet/devices-and-items.md).

## Important when updating

Do **not** delete or overwrite your existing `wlabs-tablet/data/` folder when updating. This folder stores player tablet and phone data such as gallery/app storage, device profiles, and the applied email domain.

Before updating:

1. Stop the resource or server.
2. Back up your existing `wlabs-tablet/data/` folder.
3. Back up your existing `config.lua` and any custom app/icon changes.
4. Upload the new script files.
5. Restore your saved `data/` folder and merge your config changes into the new `config.lua` (copy over item names, keybinds, framework, camera upload, custom apps, stocks settings, and settings such as `Config.DeviceMode`, `Config.Tablet`, `Config.Banking`, `Config.Garage`, and `Config.Businesses`).
6. Start the resource again.

Keep the new `vehicle_images/` folder and editable `client/vehiclekeys.lua` / `server/vehiclekeys.lua` files when updating. The vehicle key files are intentionally editable for custom key scripts.

Never drop the existing `wlabs_tablet_*` database tables during an update unless you intentionally want to erase player tablet mail/accounts/contacts.

Existing servers do **not** need to wipe SQL or re-import the database. On first start after updating, the resource automatically adds any missing database columns (for example phone-linked contact fields).

## Common problems

### Tablet or phone profiles are not saving

If tablet/phone profiles, wallpapers, gallery/app storage, or saved settings are not saving after a restart, the JSON files in `wlabs-tablet/data/` may be corrupt.

1. Stop `wlabs-tablet`.
2. Delete `wlabs-tablet/data/tablet_storage.json`.
3. Delete `wlabs-tablet/data/wlabs_tablet_email_domain.json`.
4. Start `wlabs-tablet` again.

Only do this when the data files are broken or profiles are not saving. Deleting these files resets the file-based device storage and email-domain state, but it does not drop your `wlabs_tablet_*` database tables.

## Requirements

* `ox_lib`, `oxmysql`
* `qbx_core`, `qb-core`, **or** `es_extended`
* Optional: `pma-voice` for voice in **phone calls** and **video calls**

See [Dependencies](/w-labs-docs/free-scripts/wlabs-tablet/getting-started/dependencies.md).

## Documentation

* [Installation](/w-labs-docs/free-scripts/wlabs-tablet/getting-started/installation.md)
* [Dependencies](/w-labs-docs/free-scripts/wlabs-tablet/getting-started/dependencies.md)
* [Configuration](/w-labs-docs/free-scripts/wlabs-tablet/configuration.md)
* [Devices and items](/w-labs-docs/free-scripts/wlabs-tablet/devices-and-items.md)
* [Apps overview](/w-labs-docs/free-scripts/wlabs-tablet/apps-overview.md)
* [Messages](/w-labs-docs/free-scripts/wlabs-tablet/messages.md)
* [Maps](/w-labs-docs/free-scripts/wlabs-tablet/maps.md)
* [Stocks](/w-labs-docs/free-scripts/wlabs-tablet/stocks.md)
* [Locales](/w-labs-docs/free-scripts/wlabs-tablet/locales.md)
* [Custom apps](/w-labs-docs/free-scripts/wlabs-tablet/custom-apps.md)
* [Developer API](/w-labs-docs/free-scripts/wlabs-tablet/developer-api.md)
* [Troubleshooting](/w-labs-docs/free-scripts/wlabs-tablet/troubleshooting.md)
