.. _doc_pages_export_game_matrix: Matrix Blueprints ================= Matrices provide a streamlined way to configure common attributes across multiple builds. For instance, when exporting your game to Windows, Linux, and Android, each platform shares common elements like the Git repository and Git reference, but they vary in preset names and object. This is where the matrix becomes incredibly useful. You can set up the common attributes in the matrix configuration while specifying the unique details for each job. Why Use Matrix Operations? ----------------------------------- 1. Efficiency: By running multiple jobs simultaneously, matrix operations reduce the time it takes to compile Godot to different platforms. 2. Early Detection of Issues: With matrix builds, potential problems can be identified quickly across different scenarios, leading to faster fixes and higher code quality. Generating a Matrix ------------------- Import you project first : `Importing Project <../../project/index.html>`_. #. Click "Projects" under the Sources menu. .. image:: ../img/matrix/project.png :alt: Project Home #. Expand the git provider of your project #. Click the wand button of the imported project .. image:: ../img/matrix/wand.png :alt: Project Home #. Confirm if your project is a Game and click confirm .. image:: ../img/matrix/confirm_type.png :alt: Confirm project type #. You will be redirected to the matrix Home page. .. image:: ../img/matrix/home.png :alt: Confirm project type Configuring Matrix ------------------ We are missing just a few things to configure #. Click the "Cog" Button to open matrix configuration .. image:: ../img/matrix/cog_conf.png :alt: Confirm project type #. On the new window, select the desired godot version .. image:: ../img/matrix/goficial.png :alt: Confirm project type | .. image:: ../img/matrix/gversion.png :alt: Confirm project type Adding Build Jobs ----------------- You can think build as a configured preset, each preset needs to be exported. #. Click "+ Add Job" Button .. image:: ../img/matrix/job_button.png :alt: Confirm project type #. Fill the form with the required data, each field is: Godot Export Preset Name Name of the export preset defined in your Godot project (e.g. ``Linux/X11``). Must match exactly with your Godot export preset. Game Name The name of the exported executable file. The resulting file name will only contain alpha-numeric characters Example: ``linux-x11`` → exported binary will be ``linux_x11.x86_64``. Steam Depot ID (Optional) The numeric Depot ID from Steam (e.g. ``87625484``). Required if you plan to publish to Steam. Steam Depot Path (Optional) Directory inside the depot where files will be stored (e.g. ``windows/game/``). The macOS and Linux preset look like: .. image:: ../img/matrix/p_macos.png :alt: Confirm project type | .. image:: ../img/matrix/p_linux.png :alt: Confirm project type | .. admonition:: Important Notes :class: checklist - When the game is exported, the executable file name will be the value you entered in the *Game Name* field. - Add a Build Job for every export preset in your project. .. admonition:: Publishing to Steam :class: checklist - If you are publishing to Steam, don’t forget to add the **Depot ID**. See :doc:`Deploy to Steam <../../deployments/steam/index>`.