Create Like a Pro: GIANTS Studio Modding Tool for FS25
Another key tool in the Farming Simulator modding ecosystem is the GIANTS Studio. This integrated development environment (IDE) is purpose-built to support the creation and programming of mods for Farming Simulator. An IDE is a software application that offers additional resources and support for developers during software development. GIANTS Studio includes a script editor along with a variety of debugging tools, which we will explore further in this tutorial.
Technical Requirements
To follow this tutorial, you’ll need to download GIANTS Studio and, optionally, other supporting software. Ensure you have an internet connection and a web browser available. The minimum system requirements for running GIANTS Studio and additional applications are as follows:
- Farming Simulator 25
- Windows 10 64-bit
- Processor: Intel Core i5-3330 or AMD FX-8320 (or better)
- Graphics Card: Nvidia GeForce GTX 660, AMD Radeon R7 265, or better (minimum 2 GB VRAM, DX11/DX12 support)
- Memory: 8 GB RAM
- Storage: 35 GB free hard drive space
- Audio: Sound card
Installing GIANTS Studio
To install GIANTS Studio, start by going to the Downloads section on the GDN (GIANTS Developer Network) site. You’ll need an active GDN account to access downloads, so be sure to create one if you haven’t already. Once in the Downloads section, find GIANTS Studio listed at the top, available for your platform, and click to download.
After the executable file has downloaded, open it and follow the steps provided in the setup wizard. Once installation is complete, launch GIANTS Studio, where you’ll see a familiar welcome menu similar to that in the GIANTS Editor. In the next section, we’ll go over how to navigate the GIANTS Studio interface.
Application Menus
In this section, we’ll dive into the various application menus within GIANTS Studio, focusing on the essential options that beginner mod creators should be familiar with.
The File Menu
The File menu in GIANTS Studio closely resembles that of the GIANTS Editor, with two new options: New Project and Open Project. Selecting New Project allows you to start a fresh mod project, which will be saved as a .gsp file. During setup, you’ll be prompted to configure some project settings. We’ll guide you through these configurations in the “Debugging Scripts” section later in this tutorial. Open Project simply lets you load an existing .gsp file so you can continue working where you left off. In the following section, we’ll cover the Edit menu.
The Edit Menu
The Edit menu introduces several useful features, starting with the Find tool. This tool offers multiple options, with the most common being Find (Ctrl+F), Find in Files (Ctrl+Shift+F), and Go to Line (Ctrl+G). The Find option performs a simple search for strings within the current script, while Find in Files searches all scripts in your project for matches and displays the results in the Find Results tab. Go to Line opens a window where you can enter a line number, taking you directly to that line in the script.
The Replace function appears alongside the Find tool and prompts you to enter two strings: the one you want to find and the one you want to replace it with. This can be applied across multiple scripts, though it’s best to double-check your replacements to avoid introducing new errors.
Additionally, the Edit menu offers quick options for commenting or uncommenting your Lua code. Highlighted code can be commented with Ctrl+K and uncommented with Ctrl+Shift+K.
In the next section, we’ll explore the options available in the View menu.
The View Menu
The View menu in GIANTS Studio allows you to access various tabs by selecting an option, making it easier to navigate the interface. Here’s a breakdown of each menu and the information it provides:
- Globals and Locals: These tabs display the names and values of globally and locally defined variables in your script. By monitoring these variables, you can verify whether each one is adopting the expected value at different points in your program’s execution.
- Watch: This tab enables you to specify variables you want to track throughout your program. Unlike Globals and Locals, the Watch tab keeps tabs on these variables even as the program shifts between different scopes, making it ideal for tracking key variables across different contexts.
- Script Console: Similar to the Console menu in the GIANTS Editor, the Script Console lets you write and execute Lua code. However, in GIANTS Studio, the Script Console only executes code during a debugging session, and all output is sent to the Output tab (explained later).
- Callstack: This tab reveals the sequence of function calls leading up to a specific point in your program. If execution is paused within a function that was called by another function, both calls will appear in the call stack, allowing you to trace back and diagnose errors in complex code.
- Breakpoints: Here, you can view and manage breakpoints in your program, which allow you to halt execution at specific points. We’ll discuss how to use breakpoints in more detail in the “Using Breakpoints” section.
- Memory and Allocations: These tabs display memory usage within your program. If you experience a memory leak, an issue where memory is used but not released, these tools can help you identify and resolve the problem.
- Output: This tab is where output from Farming Simulator, your mod files, and any code run in the Script Console is displayed.
- Error List: This tab shows any syntax errors in your code. Errors that occur during runtime will also be visible here through the Output tab.
- Find Results: When you use the Find in Files tool from the Edit menu, search results are directed to this tab for easy access.
- Toolbar: Much like in the GIANTS Editor, GIANTS Studio has a customizable Toolbar with buttons for quick actions. You can control which actions are visible by adjusting Toolbar settings.
- Navigate Forward and Backward: These options allow you to move your cursor through recent locations within a script or across different files in the editor. The shortcuts for these actions are Alt+Left for Backward and Alt+Right for Forward.
- Reset Window Layout: Selecting this option restores all windows and menus in GIANTS Studio to their default layout, which can be helpful if you need to reset the interface.
In the next section, we’ll explore the Debug menu and its features.
The Debug Menu
The Debug menu provides access to various tools within GIANTS Studio, which you’ll learn to use in detail in the “Creating and Debugging Scripts” section of this tutorial. For now, let’s proceed to the next section to cover the Window menu.
The Window Menu
The Window menu in GIANTS Studio includes three simple options: Reopen Tab, Close Tab, and Close All Tabs. Selecting Reopen Tab will bring back the most recently closed tab. Close Tab will close the tab currently in focus, while Close All Tabs will close all open editing tabs at once.
Now, let’s look at the options available in the Help menu.
The Help Menu
The Help menu in GIANTS Studio is the same as in the GIANTS Editor. You can find a summary of these options in the “Help Menu” section of “Getting Started with the GIANTS Editor.”
With the application menus of GIANTS Studio covered, let’s now explore additional windows and elements to get you fully acquainted with the interface.
New Project
Before creating any script files, let’s start by setting up a new mod project. Go to the File menu and select New Project. After entering a name for your project, a menu like the one shown below will appear. If Farming Simulator 22 is installed on your computer, GIANTS Studio will automatically configure the correct paths. Ensure that the Auto-create mod folder option is enabled.
Once your project is created, the Project Browser on the left side of the application should display a sample mod layout.
The helloWorld.lua file is already open in the main script editor window. However, before proceeding, let’s take a look at the modDesc.xml file, which serves as the entry point for every mod.
To open it, double-click on modDesc.xml, and it will appear in the main script editor window of the IDE. You should see the following code displayed in modDesc.xml:
<modDesc descVersion=”72″>
<Author>GIANTS Software</author>
<version>1.0.0.0</version>
<multiplayer supported=”true” />
<title>
<en>Sample Mod – Hello World</en>
</title>
<description>
<en>A sample mod</en>
</description>
<iconFilename>icon_helloWorld.png</iconFilename>
<extraSourceFiles>
<sourceFile filename=”scripts/helloWorld.lua”/>
</extraSourceFiles>
</modDesc>
Let’s go through each section of the modDesc.xml file to understand what it communicates to the game about your mod and why each part is essential.
- XML Declaration: The first line specifies the XML declaration, which provides metadata about the XML file format itself. This isn’t directly relevant to your mod’s functionality but is required for XML structure compatibility.
- descVersion: This field defines the minimum game feature set needed for your mod. It should be set to match the current game patch version, which you can find in the latest ModHub Guidelines.
- author: This section records the mod author’s name—yours! Including this field ensures you’re credited on ModHub when the mod is published.
- version: The version field specifies the mod’s current version. This helps in tracking updates and differentiates versions when publishing to ModHub.
- multiplayer supported: This field indicates whether the mod is multiplayer-compatible. If enabled, it will be available for selection in multiplayer mode; if not, it will be hidden.
- title: The title field is where you define the name of your mod, as it will appear in the mod menu. You can also support multiple languages by wrapping the title text in locale tags. For example, indicates English.
- description: This field provides a description that appears below the title in the mod menu. Like the title, it supports localization with language-specific tags.
- iconFilename: Here, you specify the path to an icon image that will display next to your mod in the menu. The path should be relative to the mod folder.
- extraSourceFiles: This section lists any scripts to be loaded. Each script file should be included within a sourceFile wrapper, specifying the file path relative to the mod folder. For example, we include a helloWorld.lua script, which was created during the setup of the sample mod.
In the following tutorial, we’ll learn how to set up a sample mod from scratch.
Starting the Game
GIANTS Studio has set up a sample mod for us, so let’s test if it loads correctly in the game. To start, go to the Toolbar and click the Start button, as shown in the image below. Alternatively, you can choose Start without Debugging from the Debug menu for a quicker launch. Farming Simulator should open automatically, displaying the main menu. If you started the game without debugging, press F10 to connect GIANTS Studio to the game; you should see confirmation of this connection in the Output tab of the IDE.
From the game’s main menu, go to Options > Display Settings and select Windowed Mode. This setting is important for debugging since, in fullscreen mode, the application will pause, preventing you from switching to other programs.
Next, go back to the main menu, choose Career mode, select an empty save slot, and pick any difficulty level and map. After selecting a map, click Continue, and a menu will appear, allowing you to choose which mods to activate in the game, as shown in the image below.
If this mod selection menu doesn’t show up, ensure your Mod Directory folder is correctly located within the mods folder in the Farming Simulator game directory. You can also check the log.txt file or the Output tab to see if your mod appears with the format Available mod: (Hash: [random md5 hash]) (Version: 1.0.0.0) myMod.
After selecting your mod, click Start. Any output from your mod will appear in the Output window. Since we haven’t modified the helloWorld.lua script yet, you should see a single line displaying “Hello world” in the Output window.