Introduction

Understand the purpose, vision, and structure of the Ambitions Framework — a modern foundation designed to build scalable, modular, and high-quality FiveM servers.

What is a framework ?

In software development, a framework is a reusable and structured foundation that provides essential tools, patterns, and logic to help build applications faster and more reliably. Whether in web development (e.g. Laravel, React) or game engines (e.g. Unity, Unreal), a framework exists to handle the boilerplate — so developers can focus on building features.

A good framework:

  • Provides reusable tools

  • Encourages consistent patterns

  • Handles complex behavior behind the scenes

  • Promotes scalability and modularity


What is a framework in FiveM ?

In the context of FiveM, a framework manages core gameplay systems like:

  • Player data (accounts, jobs, inventories, etc.)

  • Database communication

  • Server-client synchronization

  • Permissions, callbacks, events, etc.

Frameworks like ESX, QBCore, or vRP introduced structure to FiveM roleplay servers — but many of them grew too complex, too rigid, or too legacy-bound over time.

circle-info

Most public frameworks today sacrifice performance, readability, or flexibility in favor of compatibility or plug-and-play features. That’s where Ambitions steps in.


Why Ambitions Framework ?

Ambitions was created with one goal in mind:

Provide a lightweight, scalable, and modern development framework for FiveM — made for serious projects.

Unlike traditional frameworks, Ambitions does not force you into a predefined ecosystem. It gives you complete freedom to structure your server as you wish, while still providing clean and battle-tested tools for the most common use cases.

Ambitions provides its own branded solutions (such as inventory, banking, etc.) that are deeply optimized for native compatibility with the framework, ensuring smoother and tighter integration. However, you are never locked in.

circle-exclamation

Eventually, the goal is for anyone to be able to install the framework with two or three strongly recommended scripts, and then freely build out the rest of their server as they see fit.


Our Vision

  • Developer-first → minimal, documented, and predictable

  • Modular → plug in only what you need, discard the rest

  • Scalable → built to grow with your server’s needs

  • Performant → strict control of resource usage and SQL communication

circle-info

Ambitions is not a one-size-fits-all solution — it's a clean, extensible base you can shape into any roleplay ecosystem.


Key Features & Design Principles

Class-based architecture

Every system (player, job, society, accounts, etc.) is designed as a class with scoped data. That means clean code, predictable behavior, and less runtime memory pollution.

Data caching and session-limited SQL

Ambitions fetches only once per session what is needed and stores it in cache:

  • When a player connects: data is loaded and cached

  • During session: no redundant SQL unless explicitly required

  • On disconnect: changes are flushed back to the database

circle-info

This results in fewer queries, better server performance, and easier debugging.

However, some additional queries may still occur during the session when justified:

circle-exclamation

Modular & extensible structure

You can:

  • Add custom systems (e.g. crafting, housing, gangs)

  • Replace or override existing logic

  • Keep concerns separated and maintainable

Each module is isolated and can rely on base classes or shared logic exposed through the Ambitions library.

Built-in Function Library

Ambitions includes a powerful built-in utility library — a central piece of the framework that helps you develop faster, cleaner, and more robust Lua code. This includes:

  • General-purpose tools (e.g. string formatting, table manipulation, math helpers)

  • Vector utilities

  • Logging, color formatting, and error handling

  • Custom callback & request system

  • Wrapper methods for FiveM-native operations

These functions promote clean and reusable logic across all modules.

circle-info

The library helps you write faster, cleaner, and more secure Lua code — and ensures consistency across all your modules.

Accessing the Library

Unlike other frameworks like ESX (ESX.ShowNotification) or QBCore (QBCore.Functions.TriggerCallback), Ambitions does not expose a global namespace.

Instead, it uses an explicit importation system — giving you full control over what you load, and avoiding global scope pollution.

You can browse all available functions, categories, and usage examples in the Function Library Reference section of the documentation.

No forced ecosystem

Ambitions does not require a specific inventory, UI framework, admin menu, or job system. Choose what fits your project — and integrate it cleanly.

It does however offer a growing suite of first-party scripts fully branded and optimized for Ambitions. These scripts are guaranteed to integrate seamlessly and offer a polished experience out-of-the-box.

circle-exclamation
circle-info

✅ In the future, the goal is to provide clear documentation and recommended resources so even beginner developers can easily set up and customize their server.


What’s next ?

This section of the documentation will walk you through:

  • Installing the framework

  • Understanding the core architecture

  • Writing your first module

  • Leveraging the built-in library functions

Whether you're migrating from another system or starting fresh, this is the base you need to build something clean, custom, and modern.

circle-info

Reminder: Ambitions is under active development. Refer to the roadmap and GitHub releases for new features and stability updates.

Last updated