Skip to main content

fxmanifest.lua fields every FiveM developer should review

Written by FiveMCoach · AI-assisted editorial guide; official sources checked

Last updated

fxmanifest.lua guide: FiveM resource manifest fields

A field-by-field review of the FiveM resource manifest. Learn which declarations affect loading, dependencies, runtime behavior and NUI assets before you ship a new resource.

Quick answer

Treat fxmanifest.lua as the resource's load contract. Confirm the FXv2 version and game, declare each shared, client and server script, list dependencies, and include only the files your resource needs. Then test a clean start and the player flow so a valid manifest is backed by working behavior.

On this page

Evergreen developer guide. Official references checked on 17 September 2026. This is AI-assisted FiveMCoach editorial content; the examples are a review aid, not a claim that a resource was executed in a live server.

What does fxmanifest.lua control?

FiveM loads a resource from its folder and reads fxmanifest.lua to learn what to start. The official resource-manifest reference describes the manifest as the place to declare the resource version, game, scripts, files, dependencies and runtime settings. Use the documented fx_version 'cerulean' baseline for current resources unless a supported project constraint says otherwise.

A manifest is not a package manager and it is not a security review. It tells the runtime which files and dependencies to expose. Review the code and permissions separately, then keep the manifest small enough that a new contributor can explain every line.

Which fields should you review first?

Start with fx_version and game. They establish the manifest contract and target GTA V. Next check shared_script, client_script and server_script. Put shared definitions in the shared list only when both sides need them; do not load server secrets into a client file.

Use dependency or dependencies for resources that must be started first. If your resource uses a framework or database adapter, declare the actual requirement and document the supported version. The declaration does not install that dependency. Confirm startup order with the server command guide and test refresh followed by ensure resource_name.

Add files for assets the client must receive, and set ui_page only when the resource has a web interface. A cerulean resource runs NUI in a secure context; the documentation notes that callbacks should use https:// rather than insecure http:// URLs. Keep the page, callback names and asset paths aligned with the actual folder.

Can you use a minimal manifest as a release check?

This example is intentionally small:

fx_version 'cerulean'
game 'gta5'

shared_scripts {
    'shared/config.lua'
}

client_script 'client/main.lua'
server_script 'server/main.lua'

dependencies {
    'oxmysql'
}

The example declares files but does not provide or install oxmysql. Before shipping, confirm that the dependency exists on the target server and that your code handles its documented API. If you add NUI, extend the manifest with the page and files that really exist, then test a callback from the game UI. For callback failure diagnosis, compare your code with the NUI callback debugging guide.

After editing, start from a clean resource copy. Read both server and client logs, exercise the happy path, reload the resource once and repeat the same check. A manifest that parses can still point to a typo, load a client-only file on the server or omit an asset that the browser needs.

What belongs in a manifest review?

Review the file in code review with a short table: declaration, reason, owner and test. Reject unused files and wildcard patterns that make the release difficult to audit. Verify that a dependency is named consistently with its folder and that documentation tells operators when to ensure it.

For a timing-sensitive loop, keep the manifest change separate from the scheduling change and use the Wait interval guide to test behavior. For a new resource, add the manifest review to your pull request checklist so the runtime contract is checked before a player reports a missing feature.

Verification limit: the field descriptions and secure NUI note were checked against the linked Cfx.re documentation. The sample was inspected for structure but was not executed in FiveM, and no performance result is claimed.

Checklist
  • Confirm fx_version and game match the supported project.
  • Separate shared, client and server scripts deliberately.
  • Declare real dependencies and document supported versions.
  • Keep secrets and server-only code out of client files.
  • Verify every files and ui_page path exists.
  • Test refresh, ensure, reload and the player flow.
  • Review NUI callbacks and secure URLs when a browser UI is present.
Declaration Review question Evidence
fx_version, game Is the runtime target intentional? Supported project baseline
shared_script Do both sides need this file? Shared API or config
client_script, server_script Is code on the correct side? Clean start and logs
dependencies What must load first? Resource name and version
files, ui_page Do paths match shipped assets? Browser and asset check
Common mistakes

Copying a manifest from another resource can load the wrong runtime or leave paths that do not exist. Putting a secret config in shared_script exposes it to clients. Wildcards and undocumented dependencies make releases hard to reproduce. Keep the manifest explicit, test from a clean copy and make the smallest correction when a path or declaration fails.

FiveMCoach perspective

We treat fxmanifest.lua as a release contract. A reviewer should be able to trace every declaration to a file, dependency or test, and an operator should know the first safe command to run. The best manifest is not the longest one; it is the one that makes loading behavior predictable.

Does fxmanifest.lua install dependencies automatically?
No. It declares a dependency for the resource runtime. The operator still needs the required resource, a supported version and a deliberate startup order.
Should a config file be shared between client and server?
Only when every value is safe for the client to receive. Keep credentials, private endpoints and server-only decisions in server code or protected configuration.
Why does a valid manifest still produce a missing file error?
The manifest can parse while a path is misspelled, a file is absent from the archive or a script is loaded on the wrong side. Start from a clean copy and compare each declaration with the shipped folder.

Ready for the next step?

Stop guessing. Get a concrete plan for your server and move with confidence.

Written by
FiveMCoach · AI-assisted editorial guide; official sources checked
A FiveMCoach contributor responsible for this guide's visible content.