Writing fluXis storyboard scripts in a plain text editor works, but you will miss out on autocompletion, inline documentation, and type error highlighting. The fluXis installation ships aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/InventiveRhythm/fluXis/llms.txt
Use this file to discover all available pages before exploring further.
scripting/ folder that contains Lua library definition files specifically authored for sumneko’s Lua Language Server. Once the language server is pointed at that folder, your editor gains full awareness of every fluXis global — element constructors, mathf functions, AudioAnalyzer methods, easing names, enum values, and more.
What the scripting/ Folder Contains
The scripting/library/ directory holds a set of ---@meta Lua files. These files are never executed; they exist solely to teach the language server about fluXis-specific types and globals:
| File | Provides |
|---|---|
shared.lua | SetVersion, RandomRange, BPMAtTime, DefineParameter, print |
storyboard.lua | Element constructors, Add(), screen, metadata, settings, Layer(), Anchor(), BlendMode() |
skin.lua | skin:sprratio(), skin:colwidth(), skin:hitpos(), skin:recoffset(), skin:recfirst() |
audio.lua | AudioAnalyzer, FFTParameters, FFTFrame, FFTBands |
math.lua | mathf with all scalar and vector methods |
map.lua | map:NotesInRange(), map:TimingPointsInRange(), map:ScrollVelocitiesInRange(), map:HitSoundFadesInRange(), map:EventsInRange() |
enums.lua | Easing, HitObjectType, AnchorName, BlendMode, EventType, ParameterDefinitionType |
events.lua | All event class definitions (BeatPulseEvent, FlashEvent, ShaderEvent, etc.) |
struct.lua | Vector2, Color4, HitObject, TimingPoint, ScrollVelocity, HitSoundFade |
Finding the scripting/ Path
The scripting/ folder lives in the root of your fluXis installation directory, alongside the game executable. If you installed via Steam, the default path is:
Use the full absolute path when configuring the language server. Relative paths may not resolve correctly depending on which folder you open in your editor.
Installing the Language Server
- VS Code
- JetBrains Rider
Step 1 — Install the Extension
Open VS Code
Launch Visual Studio Code. If you do not have it installed, download it from code.visualstudio.com.
Install the Lua Extension
Open the Extensions panel (
Ctrl+Shift+X), search for Lua by sumneko, and click Install. The extension ID is sumneko.lua.Alternatively, install it from the command line:Open Your Map Folder
Use File → Open Folder to open the folder that contains your map’s
.fsc file and Lua scripts. The workspace configuration you create in the next step is scoped to this folder.Create .vscode/settings.json
Inside your map folder, create a
.vscode/ directory if one does not exist, then create settings.json inside it with the following content — replacing the path with your actual fluXis installation path:Verifying the Setup
Once the language server is configured, open (or create) a.lua file in your map folder and try typing the following. Autocomplete and type hints should appear at each step:
Common Issues
Hover shows 'unknown type' for storyboard globals
Hover shows 'unknown type' for storyboard globals
Ensure the path in
Lua.workspace.library uses the correct path separator for your OS (backslashes on Windows, forward slashes on Linux/macOS) and that the path ends with scripting not scripting/library. Reload the window after making changes.The extension reports errors on ---@meta files
The extension reports errors on ---@meta files
This is normal and expected. The
---@meta annotation tells the language server these files are definition-only. They should not appear in your script’s directory — they live in the fluXis installation, which the language server reads as a library, not as part of your project.Autocomplete works for shared globals but not storyboard globals
Autocomplete works for shared globals but not storyboard globals
SumnekoLua plugin not appearing in Rider marketplace
SumnekoLua plugin not appearing in Rider marketplace
The plugin requires Rider 2023.1 or later. Ensure your IDE is up to date. You can also install the plugin manually by downloading the
.zip from the JetBrains plugin repository and using Install Plugin from Disk in the Plugins settings panel.