Prerequisites
Before you begin, you’ll need to install the following tools:Initial Setup
1
Navigate to your desired directory
Open a command prompt and navigate to the folder where you want the source code:Replace the path with your preferred location.
2
Clone the repository
Clone the base repository using Git:
3
Enter the repository directory
4
Download game assets
Download the game’s proprietary assets as a submodule:
By performing this operation, you are downloading Content which is proprietary and protected by national and international copyright and trademark laws. See the LICENSE.md file for Funkin.assets for more information.
5
Install hmm (Haxe Module Manager)
Install hmm globally and set it up:
6
Install Haxe libraries
Install all required Haxe libraries for the current branch:
Troubleshooting Lime installation issues
Troubleshooting Lime installation issues
If you have issues installing Lime, try using Funkin’s patched libraries:
7
Set up Lime
Configure Lime for your system:
Platform-Specific Setup
- Windows
- Mac
- Linux
- HTML5
Windows Requirements
Download and install the Visual Studio Build Tools.When prompted, select Individual Components and make sure to download:- MSVC v143 VS 2022 C++ x64/x86 build tools
- Windows 10/11 SDK
Building the Game
1
Rebuild Lime binaries (Native only)
If you are targeting native platforms, rebuild Lime for your platform:
2
Build and run the game
Build and launch the game for your platform:
Build Flags
You can customize your build with various flags. Add them after your build command:Debug and Development Flags
-debug - Debug Mode
-debug - Debug Mode
Builds the game in debug mode with:
- In-game debug functions enabled
- Disabled compile-time optimizations
- Asset redirection enabled
- VSCode debug server enabled (may slow the game)
-DGITHUB_BUILD - Playtester Build
-DGITHUB_BUILD - Playtester Build
Enables in-game debug functions (like time travel with
PgUp/PgDn) without other debug features:-DREDIRECT_ASSETS_FOLDER - Asset Redirection
-DREDIRECT_ASSETS_FOLDER - Asset Redirection
Forces the game to load assets from the project’s assets folder rather than the exported folder. Great for fast iteration:
Feature Flags
Modding Support
Modding Support
Enable:
Disable:
-DFEATURE_POLYMOD_MODSDisable:
-DNO_FEATURE_POLYMOD_MODSControls whether the game loads mods from the ./mods folder.Discord Rich Presence
Discord Rich Presence
Enable:
Disable:
-DFEATURE_DISCORD_RPCDisable:
-DNO_FEATURE_DISCORD_RPCControls Discord integration for status updates.Video Playback
Video Playback
Enable:
Disable:
-DFEATURE_VIDEO_PLAYBACKDisable:
-DNO_FEATURE_VIDEO_PLAYBACKControls support for video cutscenes.Screenshots
Screenshots
Enable:
Disable:
-DFEATURE_SCREENSHOTSDisable:
-DNO_FEATURE_SCREENSHOTSControls the screenshot feature.Chart Editor
Chart Editor
Enable:
Disable:
-DFEATURE_CHART_EDITORDisable:
-DNO_FEATURE_CHART_EDITORControls access to the chart editor in the Debug menu.Stage Editor (Experimental)
Stage Editor (Experimental)
Enable:
-DFEATURE_STAGE_EDITOREnables the experimental stage editor.Ghost Tapping (Experimental)
Ghost Tapping (Experimental)
Enable:
-DFEATURE_GHOST_TAPPINGEnables experimental gameplay changes to the anti-mash system.Next Steps
Mac Compilation
Additional considerations for Mac builds
Mobile Compilation
Android and iOS compilation guides
Troubleshooting
Fix common compilation issues
Contributing
Learn how to contribute code
