A powerful modcharting backend for Friday Night Funkin' and other HaxeFlixel-based VSRGs — built by modders, for modders.
FunkinModchart is a fully featured modcharting framework that brings NotITG-style visuals and effects to Friday Night Funkin’ and any other VSRG made in HaxeFlixel.
With this library, you can easily:
- Modify arrow trajectories, colors, transparency, and rotation across full 3D axes.
- Use a dynamic event system to animate modifier values over time.
- Create custom easing effects and complex visual transitions — all with simple scripting.
And that’s just the start. FunkinModchart also gives you extra cool stuff like:
- Arrow Trajectory Rendering (aka. Arrow Paths)
- Customizable 3D Camera (per-playfield)
- Multiple Playfields for even craziers results
If you’ve ever used NotITG or StepMania, you’ll feel right at home.
FunkinModchart supports several major FNF engines:
See the Support guide for details.
Open your project’s Project.xml, then scroll to where you define your haxelibs and add:
<haxedef name="FM_ENGINE" value="YOUR_ENGINE"/>
<haxedef name="FM_ENGINE_VERSION" value="ENGINE_VERSION"/>
<haxelib name="funkin-modchart" />
<haxeflag name="--macro" value="modchart.backend.macros.Macro.includeFiles()"/>Replace the defines with your engine’s name and version (check the format in the support guide).
If everything is set up properly, your project should compile and run as usual — but now with full modchart power.
In your song state or script:
import modchart.Manager;
var funkinModchart:Manager = new Manager();
add(funkinModchart);Make sure the arrow and receptors are already initialized before creating the modchart instance.
You can add it directly in source code or through the scripting layer if the game admits it.
Explore the available functions in the Documentation.
Tip: You don’t need to strictly follow examples — experiment!
A bit of experience with NotITG or The Mirin Template will help you design stunning modcharts faster.
An Adapter is a simple wrapper class that lets FunkinModchart work with your game or engine.
It defines all the essential methods the Modchart Manager depends on.
- Your game must use HaxeFlixel.
- Arrows, receptors, and holds must be FlxSprite objects.
FunkinModchart renderers relies on default FlxSprite renderer — it won’t work with sprites that have its custom way for rendering.
- Review the IAdapter interface.
- Check existing adapter implementations for examples.
- The adapter class name must match the value of your
FM_ENGINEdefine (PascalCase).
You can even swap adapters at runtime — perfect for editors or very crazy modcharts that could require it.
| Lead Programmer | Theo |
| Help with Optimization | Ne_Eo (aka. Neo) |
| Math References | OpenITG |
| Code References | Schmovin by 4mbr0s3 |
| Logo Artist | Soihan |
-
lunarcleint – Moral support, the goat
-
Tsaku – Beta testing & feedback
-
All contributors !
Made with contrib.rocks.
FunkinModchart is avalidable under the MIT License. Check LICENCE for more info.
