Skip to content

theoo-h/FunkinModchart

Repository files navigation

FunkinModchart Logo

A powerful modcharting backend for Friday Night Funkin' and other HaxeFlixel-based VSRGs — built by modders, for modders.

¿What is FunkinModchart?

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.


Installation

FunkinModchart supports several major FNF engines:

See the Support guide for details.


Setup

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.


Using FunkinModchart

1. Add the Manager

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.


2. Create a Modchart

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.


Creating Your Own Adapter

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.

Requirements

  • 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.

Steps

  1. Review the IAdapter interface.
  2. Check existing adapter implementations for examples.
  3. The adapter class name must match the value of your FM_ENGINE define (PascalCase).

You can even swap adapters at runtime — perfect for editors or very crazy modcharts that could require it.


Credits

Lead Programmer Theo
Help with Optimization Ne_Eo (aka. Neo)
Math References OpenITG
Code References Schmovin by 4mbr0s3
Logo Artist Soihan

Special Thanks

  • lunarcleint – Moral support, the goat

  • Tsaku – Beta testing & feedback

  • All contributors !

    Made with contrib.rocks.

Licensing

FunkinModchart is avalidable under the MIT License. Check LICENCE for more info.

About

A modchart backend plug-in for VSRGs made on HaxeFlixel.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 9

Languages