Jumpfall Level Editor

User tutorial for creating, testing, saving and compiling custom maps without opening Unity.

Quick start

The Level Editor is used to build custom maps, test them inside the game and prepare them as community maps.

  1. Open Jumpfall and press the Level Editor button in the main menu.
  2. Place ground with LMB and erase with RMB.
  3. Move the spawn point with T or with move-spawn mode using M.
  4. Test the map with F5.
  5. Save an editable map with F7.
  6. Compile a playable map with F8.
This editor is still a prototype feature. Save often with F7 so you do not lose the editable map.

Important concepts

PieceNormal level object, such as ground, apples, platforms or checkpoints.
TriggerSpecial area. It is visible in the editor, but it can be invisible during gameplay.
SpawnPoint where the player appears when testing or playing the map.
BackgroundLocal PNG image used as a background or decoration.
.jmapEditable map format. Use it while building and changing the level.
.jfueCompiled playable map format. This is what the game loads at runtime.

Main controls

InputAction
LMBPaint or select depending on the current mode.
RMBErase. Some protected objects require Ctrl + RMB.
Q / ERotate the selected piece, or configure a selected object when Object Edit is enabled.
[ ]Cycle between available pieces.
1..9Select pieces quickly.
TSet the player spawn point at the cursor.
MToggle move-spawn mode.
F3Add or edit a custom background.
F4Toggle Object Edit mode for moving, resizing and configuring items.
F5Start or stop playtest mode.
F6Toggle trigger placement mode.
F7Save an editable .jmap.
F8Compile a playable .jfue.
F9Open LoadMapEditor for editable maps.
F10Add custom soundtrack entries.
Ctrl + F10Configure soundtrack mode and loop behavior.
BLock or unlock the selected object to avoid accidental edits.
Ctrl + C / Ctrl + VCopy and paste selected editor objects.
Ctrl + mouse wheelChange editor precision while Object Edit is active.

Object Edit with F4

Object Edit mode is for precise object work. Use it when you need to move, resize, select multiple objects or configure object-specific settings.

  • Click an object to select it.
  • Drag to move the selected object.
  • Use the visible handles to resize it when supported.
  • Hold Ctrl to select or work with more than one object.
  • Drag a rectangle with the left mouse button to select multiple objects.
  • Press E to open the configuration window for supported objects and triggers.
If movement feels too wide or too tiny, hold Ctrl and use the mouse wheel to change the editor precision.

Lock objects with B

Locking prevents accidental delete, movement or resize operations. This is useful for triggers, checkpoints, backgrounds and important layout pieces.

  1. Enable Object Edit with F4.
  2. Select the object.
  3. Press B to lock it.
  4. Press B again to unlock it.

Spawn and playtest

Move the spawn

The spawn marker shows where the player will appear. Place it exactly where the character should start.

  • Press T to set the spawn at the cursor.
  • Press M to toggle move-spawn mode if you want to drag it.
  • The preview character represents the actual spawn position.

Playtest the map

Press F5 to enter player mode. In player mode, the camera follows the player unless a static camera trigger changes the view.

The free camera used during editor playtest is not saved into the compiled map. It is only for testing.

PNG backgrounds with F3

Custom backgrounds are stored in the local assets folder and can be moved or resized in Object Edit mode.

  • Documents\jumpfall\levels\assetslocal\backgroundimg

If no name is provided, the default file name can be background.png. Named backgrounds should use clear file names.

Backgrounds should render behind the player. If a background hides the player, move it back or adjust its sorting settings through the editor configuration.

To avoid accidental deletion, backgrounds require Ctrl + RMB for removal.

Custom soundtrack with F10

Custom map music and sounds are stored in:

  • Documents\jumpfall\levels\assetslocal\sound
  • Press F10 to add soundtrack entries.
  • Press Ctrl + F10 to configure loop mode and playback behavior.
  • If several tracks are configured with loop enabled, the list can be used as the map soundtrack queue.

Triggers with F6

Triggers are invisible gameplay areas. They are shown in the editor so you can configure them, but they should not appear as normal sprites in play mode.

TriggerUse
limit_mapMarks map limits or safe boundaries.
deathzoneKills or resets the player when touched.
changelevelLoads another compiled .jfue map. It must not be used to load the main menu.
finish_levelFinishes the custom level. In editor playtest, it shows a message and returns to edit mode.
static_cameraLocks the camera to a configured view while the player stays inside the trigger.
trigger_wall_jumpCreates a wall-jump or climbing-wall gameplay area.
lua_eventSends an event name to Lua without changing level or ending gameplay.

To configure a trigger, enable Object Edit with F4, select the trigger and press E.

Configure static_camera

A static_camera trigger keeps the camera in a fixed view while the player is inside the trigger area.

View modes

  • Current area: the camera stays centered on the configured trigger view.
  • Custom offset: use the trigger parameters to move the camera view to another point.

Useful parameters

  • Camera position or offset.
  • Camera size or zoom.
  • Whether the player can leave the static view normally.
The camera should follow the player again only after the player exits the static camera trigger or enters another camera trigger.

Lua events for maps

Lua is optional. A normal map can work without scripts. Use Lua only when you need custom behavior that the default triggers do not cover.

Recommended entry file:

Documents\jumpfall\levels\assetslocal\lua\main.lua

Example:

function on_lua_event(event_name, x, y)
  if event_name == "open_door" then
    jf.log("Open door event")
  end
end

Open the Lua tutorial.

Save, compile and share

Save editable

Press F7 to save an editable .jmap. This is the file you should keep while working.

Load editable

Press F9 to open LoadMapEditor and load editable maps from the creations folder.

Compile playable

Press F8 to compile a playable .jfue. The editor asks for a map name before compiling.

Create a Workshop package

The game does not create .jsm packages directly. Use the external JSM compiler tool to package a compiled .jfue, assetlocal, manifest.json and preview.png.

Do not publish the editable .jmap inside the Workshop package. The public package should contain the compiled playable map.

Where files are saved

FolderPurpose
Documents\jumpfall\levels\creationsEditable .jmap maps.
Documents\jumpfall\levels\compilatorCompiled .jfue maps.
Documents\jumpfall\levels\assetslocalLocal assets used by the current map.
Documents\jumpfall\levels\assetslocal\backgroundimgPNG backgrounds.
Documents\jumpfall\levels\assetslocal\soundCustom sounds or music.
Documents\jumpfall\levels\assetslocal\luaLua scripts for maps.
Documents\jumpfall\levels\workshop\{workshopid}Installed Workshop map folders.

Dev console

The development console can be enabled for testing builds with the launch parameter:

-dev_console

When enabled, open it with F11. Use it only for testing custom maps and diagnostics.

Common issues

I cannot see my map in LoadMapEditor

Check that the file is a .jmap and is located in Documents\jumpfall\levels\creations.

The player falls when testing

Check the spawn position and make sure there is a solid piece below the character.

An object is too big or too small

Enable Object Edit with F4, select the object and resize it visually. Check the original asset resolution if it is a custom PNG.

I cannot move, delete or configure an object

The object may be locked. Select it and press B to unlock it.

Music does not play

Confirm that the file is in assetlocal\sound and that the soundtrack list has an entry configured.

My Lua event does not run

Confirm that the trigger is lua_event, that its event name matches the script and that main.lua exists.

Checklist before sharing

  • The spawn point is clear and visible.
  • The map can be completed in playtest mode.
  • Important objects are locked if needed.
  • Custom backgrounds, sounds and scripts are inside assetlocal.
  • The map is compiled as .jfue.
  • The Workshop package does not include the editable .jmap.