-
Notifications
You must be signed in to change notification settings - Fork 45
01. Getting started
Steamodded is built on Lovely, a runtime Lua injector for LÖVE2D games. Please follow the installation instructions for your operating system here.
If you previously installed Steamodded without Lovely, you must first remove that installation by verifying your game files on Steam: Library > Balatro > Properties > Installed Files > Verify integrity of game files
.
- Head to the Release page and select the latest release.
- Within the
Assets
header, choose Source code (zip). a. To install the 1.0.0 Alpha, use this download instead. - Extract the downloaded zip file.
- In your file explorer, navigate to Balatro's save directory: Windows:
%AppData%/Balatro
; Mac:~/Library/Application Support/Balatro
; Linux (WINE/Proton):~/.local/share/Steam/steamapps/compatdata/2379780/pfx/drive_c/users/steamuser/AppData/Roaming/Balatro
. - Create a directory named
Mods
inside the save directory if it doesn't already exist, and navigate to it. - Move the interior
Steamodded-1.x.x
folder from the download intoMods
. Make sure that you don't have two Steamodded folders inside each other: your file structure should not look like this (Balatro/Mods/Steamodded-1.x.x/Steamodded-1.x.x/core/core.lua
), but like this (Balatro/Mods/Steamodded-1.x.x/core/core.lua
). - To update to a new version, delete the
Steamodded-1.x.x
directory inMods
and repeat steps 1-6.
Using the command line (requires Git)
- Navigate to Balatro's save directory: Windows:
cd %AppData%/Balatro
; Mac:cd ~/Library/Application Support/Balatro
; Linux (WINE/Proton):cd ~/.local/share/Steam/steamapps/compatdata/2379780/pfx/drive_c/users/steamuser/AppData/Roaming/Balatro
- Create the
Mods
directory if it doesn't already exist, and nagivate to it:mkdir Mods && cd Mods
- Clone the repository:
git clone https://github.com/Steamopollys/Steamodded.git && cd Steamodded
- Access a specific release
1.x.x
:git fetch --all && git checkout tags/1.x.x -b 1.x.x && git checkout 1.x.x
- If you want to test upcoming features in the beta phase, you can do so by using the
main
branch instead:git checkout main
. To update to the latest commit, rungit pull
.
Lovely is commonly flagged by anti-virus software because it works similarly to a Trojan, i.e. it injects itself into a process and modifies it. It is however not a Trojan or malware of any other kind. You need not take anyone's word for this - Lovely is open source, so you can check the source code and even build the injector yourself if you want. To get Lovely running properly, you may need to whitelist it from your anti-virus software.
- In Windows Security, navigate to
Virus & threat protection > Manage settings
. - Disable
Real-time protection
. This will stop Defender from trying to deleteversion.dll
while you're moving it. - Scroll down to
Add or remove exclusions
and confirm if prompted. - Navigate to the game's directory by right-clicking the game in Steam, hovering "Manage", and selecting "Browse local files". Copy the file path of this directory.
- Add an exclusion for this directory.
- Real-time protection will re-enable itself automatically, but the exclusion is needed indefinitely because Lovely is run each time you launch Balatro.
Steamodded will recognize your mod only if the first line in your mod file is EXACTLY --- STEAMODDED HEADER
.
Your mod can also contain the following lines. These lines describe information about your mod and how Steamodded should load it.
- Required:
--- MOD_NAME: Example Mod
-
--- MOD_ID: ExampleMod
(Must be unique and without spaces) -
--- MOD_AUTHOR: [You, AnotherDev, AnotherOtherDev]
(Brackets are required) -
--- MOD_DESCRIPTION: A description of your mod.
(No line breaks, text is wrapped automatically.)
- Optional:
-
--- PRIORITY: -100
(Negative values go first, positive values go last) -
--- BADGE_COLOR: 123456
or--- BADGE_COLOUR: ABCDEF
-
--- DISPLAY_NAME: Example
(Shown on mod badges instead of your mod's name) --- DEPENDENCIES: [Mod1, Mod2>=1.0.0, Mod3<=1.7.5, Mod4>=1.0.0<=2.0]
--- CONFLICTS: [Mod5, Mod6<=0.9.9, Mod7>=0.6.2, Mod8<=1.0>=0.3.7]
-
--- PREFIX: example
(Must be unique. Defaults to the first 4 letters, lowercase, of your mod's ID.) --- VERSION: 1.0.0
-
--- LOADER_VERSION_GEQ: 1.1.0
(Requires Steamodded of this version or newer) -
--- LOADER_VERSION_LEQ: 1.2.0
(Requires Steamodded of this version or older) These lines can be specified in any order.
-
- Often, something you want to do has already been implemented in the base game. Familiarizing yourself with the game's code is an important step to learn Balatro modding. To get Balatro's source code, extract the game's executable file with 7-zip. For Mac, find
Balatro.love
insideBalatro.app
and rename it toBalatro.zip
, then extractBalatro.zip
. - It can also be useful to look at code from other mod creators. The best place to find them is in the official Balatro Discord.