Skip to content

Transitioning Lua Mods from 0.6.x to 0.7

ShadowMario edited this page Jul 23, 2023 · 8 revisions

THIS PAGE IS A WORK IN PROGRESS 0.7 changed a LOT of things about how the game works, and so, it just so happened to break a lot of things in mods that depended on class and variable naming. Here's some small changes that might be able to fix your issues:


  • Change getPropertyFromClass('ClientPrefs', 'variableNameHere') to getPropertyFromClass('backend.ClientPrefs', 'data.variableNameHere')

  • Change setPropertyFromClass('ClientPrefs', 'variableNameHere', value) to setPropertyFromClass('backend.ClientPrefs', 'data.variableNameHere', value)

If you're trying to fix Game Over character/sounds breaking, change the class to substates.GameOverSubstate


  • camFollowPos has been removed, instead, use camGame.scroll, for example: getProperty('camGame.scroll.x')

Note: You will have to change the values! If its camGame.scroll.x, add a -(screenWidth / 2) to the value, if its camGame.scroll.y, add a -(screenHeight / 2) to the value


  • All Note Splash variables got replaced from notes, check out the new ones:
  1. noteSplashData.disabled, setting to true won't spawn a note splash
  2. noteSplashData.texture, you can for example, force it to use Diamond note splashes by setting it to noteSplashes/noteSplashes-diamond
  3. noteSplashData.useGlobalShader, setting to true will make your custom note use default note splash colors
  4. noteSplashData.r, default value is -1, you're supposed to put a color hex value in this
  5. noteSplashData.g, default value is -1, you're supposed to put a color hex value in this
  6. noteSplashData.b, default value is -1, you're supposed to put a color hex value in this
  7. noteSplashData.a, default value is 0.6

Don't forget, you can also do if stringStartsWith(version, '0.6') if you'd like to make your mod compatible to older versions

MORE SOON, I'M LAZY NOW