Level editor for 2d games

You should follow me on Twitter

Support for multiple engines

Cocos2d Cocos2d-X Corona SDK More to come...

Create rich levels by simple drag and drop

After you've prepared all your sprites and assets using the powerful SpriteHelper, you can use LevelHelper to drag and drop your sprites onto the canvas and create rich worlds for your games.
Moving, rotating and scaling using LevelHelper is simple, intuitive and fast.

Focus has been put on creating rich worlds fast, easy and without frustration. All actions that you'll need to create rich environments like duplicating a sprite, move it back or in front of another sprite following the engine rules are actions performed with just a click of a button.

Custom properties and inheritance


First you'll define your property in a user friendly interface.
You can have a combination of numbers, strings, booleans and arrays of the same types.

Later, you'll select one or more of the game objects that you want to hold this property and set certain values to its fields. You can even leave it to have the default fields values.

In your game code, this property will be available as composition on the game objects having this property assigned to them.
You can read and write to its fields via code as you do with any other code.

Since sometimes thats not enough, you can create your own subclasses via the API and extend the API even further with specific game code that you'll need for your app.


With SpriteHelper you create the animations. The frames it has and set default properties.
This is because most of the time you will use the same animation over and over in your game levels.
But to give some randomness to your game, you can change the animations' properties via LevelHelper to make it so that each sprite has the same animations but with different behaviors.

You may also want the same animation to run on multiple sprites, but with a different speed, or to loop the animation on one sprite but run only once on another.

You can register for notifications via the API like
"Animations Has Ended All Repetitions",
"Animation Has Ended",
"Animation Has Changed Frame".
Using these notification callbacks, you can link multiple animations or just trigger special game events.

All custom properties assigned to the frames of an animation via SpriteHelper will be available to you via the API through a simple interface.

Custom Shapes

You can create custom shapes in order to create things such as mountains or simple checkpoint areas that will trigger special game events.
A custom shape can be a simple line or can even be a complicated shape that can contain a repeating (tiling) texture(*) in it. You can have the shape visible or invisible in your game. Through the app you can optimize the shape by using a simple slider or manually add or remove points.
All shapes can be physically simulated.

*Texture on a shape is not available for Corona SDK

Path Movement

Using the bezier tool from inside LevelHelper you can create paths.
These paths can be simple lines or rounded and complicated.
You can then select one or multiple sprites and make them move on these predefined paths.
You can have it so that the sprites move directly on the path or relative to their own position, describing the path shape.
Various properties are available via the app, but they can be changed via the API, properties such as time, looping, orientation and more.

Using the API you can register for notifications such as "Path Movement Has Ended", "Path Movement Has Reached Point". You can use these notifications to trigger special game events.

Cutting Engine

The LevelHelper API comes with an advanced engine for cutting sprites, exploding them and more. Using the API you can cut any sprite that has a physical shape on it using a line or by just touch.


You can connect multiple physical shapes together with joints to create complicated devices that will make your game world come alive.
Through the LevelHelper app, you can connect objects with the following joint types
  • Distance Joint
  • Revolute Joint
  • Prismatic Joint
  • Pulley Joint
  • Gear Joint
  • Wheel Joint
  • Weld Joint
  • Friction Joint
All these can be used to create cars, ropes, switching devices and more.


Parallaxes can be used to create the illusion of depth in 2d games.

With LevelHelper you can create two types of parallaxes.
Continuous scrolling - a parallax that will move over and over, or until you pause it via code. When a sprite exits the view it will be put on the back of the sprite list and it will enter back onto the screen from the other side after a while depending on it's speed.
Normal parallaxes - a parallax that is controlled by your game code.

The movements of the sprites in a parallax are controlled by each sprite ratio multiplied by the parallax speed. For instance, certain sprites can move faster, slower or not move at all.

In this example, the bubbles will move from bottom to top giving the illusion of life in this underwater scene.

Advance Cloning

You can select one or multiple sprites and clone them as many times as you need. Using the clone tool you can choose the direction of cloning and view them in real time to see how the sprites will be aligned.
You can even select manual cloning and the selected sprites will be cloned in the position you click until you close the cloning tool.
Fast cloning is also available through "Command+D" shortcut. The selection will be cloned in the direction currently selected in the clone anchor region on the left of LevelHelper app window.

User-friendly Assets Management

To help speed up the process of creating levels, assets can be previewed in multiple ways.
Sometimes you may know the sprite you want to add by its name, sometimes by where it's placed on the disk and other times you just need to preview it in order to find it.
Of course you can filter the sprite by adding a search criteria to help reduce the list of visible sprites.


Download Trial       Visit Store

Other features

Advanced API
Game Object Asset

Each sprite can be physically simulated. LevelHelper comes bundled with an API that will load the level in your game engine and will give you easy to use interfaces for path movement, animations, cutting sprites, creating objects dynamically and more. Each level can be tested without the need to compile. If you own the PRO version you can even test your level together with your game logic using the Xcode simulator or the Corona simulator. After you have created a complicated device with joints and other properties, you may want to duplicate it multiple times. You can save that device as a game object asset. After that, it's as simple as dragging and dropping it from the list just like a normal sprite.

Gravity Tool
Physics Boundary Tool
Lasso Tool
Selection Locking

When using physics, you can control the gravity directly from inside the app. You can define a boundary that will later keep your physical enabled sprites from getting out of it. This tool, when having a large number of sprites on screen, will help you to select certain sprites faster. This tool will let you lock certain sprites so that you don't accidentally select them. You can later select the sprites from the list and unlock them.
ater keep your physical enabled sprites from getting out of it. This tool, when having a large number of sprites on screen, will help you to select certain sprites faster. This tool will let you lock certain sprites so that you don't accidentally select them. You can later select the sprites from the list and unlock them.