Skip to content

Character JSON

Super edited this page Oct 6, 2021 · 20 revisions

This explains the character JSON schema. This is almost completely backwards compatible with Funkin Multi 3.2.
Char_Pos is a FNFBR alternative to common_stage_offsets

Field Type Description
clone String Copies the offsets of a character and a few interactions, disable it by removing this line or leaving it blank
no_antialiasing Bool Whether to use antialiasing
sing_duration Float Duration of character sing animation's mult, Dad clones use 6.1 while everyone else uses 4
dance_idle Bool Makes the character use danceRight/danceLeft animations instead of Idle, Also effects a few other things
scale Float Sprite scale on stages. Senpai uses 6 while BF-Pixel/Spirit uses 6.6, everyone else uses 1
custom_misses Int Custom misses, 0 is disabled(Or just don't include), 1 is FNF Multi voices, 2 is 'miss_left.ogg','miss_right.ogg','miss_up.ogg' and 'miss_down.ogg'
alt_anims Bool Whether to use alt animations(Unused, latest FNFBR will automatically use them if provided)
flip_x Bool Flips X axis from the sprite, useful for Boyfriend/Pico/Tankman clones
spirit_trail Bool Enables Spirit's visual effect
animations Array of animations Animations for the character, bottom most will get priority
animations_offsets Array of animation offsets Per animation offsets, Adds to existing offsets if any exist
common_stage_offset [Float, Float, Float, Float] Your character's offset ingame on common stages as Player 1 and 2, due to a bug: more Y = higher, more X = More to the left. Unlike Multi where it's the opposite
char_pos [Float, Float] Your character's position, Used if you want to stay compatible with Funkin Multi or if you don't want to change the camera position
cam_pos [Float, Float] The camera position, Used if you want to stay compatible with Funkin Multi or if you don't want to change the char position
char_pos(CHAR SIDE) [Float, Float] Your character's position for the slot specified, Used if you want to stay compatible with Funkin Multi or if you don't want to change the camera position( Replace CHARSIDE with the side your character's on, 1=BF,2=Dad,3=GF as of 0.2.0 )
cam_pos(CHAR SIDE) [Float, Float] The camera positionfor the slot specified, Used if you want to stay compatible with Funkin Multi or if you don't want to change the char position( Replace CHARSIDE with the side your character's on, 1=BF,2=Dad,3=GF as of 0.2.0 )
flip Bool Allow the character to flip, enabled by default for every character except for GF, copies cloned character if not provided
flip_notes Bool Whether to flip left/right when on the right, true by default 0.0.3+
offset_flip Bool Flips the offsets on the left, 0/not specififed = off completely, 1 = use player2, 2 = flip left, 3 = flip right 0.1.2+
asset_files Array of asset files Allows the character to switch pngs,xmls,animations and animation offsets 0.2.0+
color [R,G,B,A] Allows the character to have a custom health bar color. Alpha defaults to the highest value(255) if not provided. R,G,B go from 0 to 255. 0.5.1+
playAfter String The animation to play after this animation is finished 0.6.0+

Click here to find an example charjson

Animations

This is the schema for animations

Field Type Description
anim String The animation to replace
name String The animation name from the XML
fps Int The frames per second this animation should be played at
loop Bool If this animation should be looped
indices Array of Integers The frames this animation will have in order, not needed unless you want specific frames to be used
ifstate character ifstate The animation name from the XML
oneshot Bool If the animation should be forced, Will disable loop if enabled. Should only be used for custom/timed character animations
song String The song to lock this animation to, if unmet then animation won't be processed
char_side Integer Only play on a specific side, 0 = BF, 1 = Dad, 2 = GF, if unmet then animation won't be processed
stage String You can use this if you want to lock the animation to a specific stage, if unmet then animation won't be processed

Animation_offsets

Field Type Description
anim string The animation to edit
player1 [Float, Float] Offsets for this animation (Offsets for player 1/BF on Offset_flip=1 and Funkin Multi)
player2 [Float, Float] Offsets for player 2/Dad
player3 [Float, Float] Offsets for player 3/GF

Asset_File

0.2.0+

Field Type Description
png string The path to the png, Relative to to the character folder, eg "skins/bfCar.png" *(optional)
xml string The path to the xml, Relative to to the character folder, eg "skins/bfCar.xml" *(optional, will just use default XML, useful for Skins )
animations Array of animations Animations for the character *(optional)
animations_offsets Array of animation offsets Per animation offsets *(optional)
tags Array of strings The tags to check for, the Asset file with the most matched tags will get chosen
song String The song to lock this animation to, if unmet then Asset File will be skipped
char_side Integer Only play on a specific side, 0 = BF, 1 = Dad, 2 = GF, if unmet then Asset File will be skipped
stage String You can use this if you want to lock the animation to a specific stage, if unmet then Asset File will be skipped

Tags provided by default game

windy - limo
inside - stage,mall,mallevil (halloween in 0.2.1+, I'm dumb)
outside - philly,limo,school
spooky - halloween

Clone this wiki locally