0

 Geometry Dash Editor Guide
The Geometry Dash editor allows you to create custom levels any way you want. A level can be simple or detailed, short or long, easy or difficult, and so on. The opportunities are endless. However, to be able to make exactly what you want, there are a wide variety of features that are helpful or even necessary. Learning everything yourself is a near impossible task given the size of the editor as of update 2.2. That is exactly what this guide's purpose is: To help you out, whether you are new to the editor or already a veteran. There should be something helpful here either way. Use the list below if there is anything specific you are looking for.
Table of Contents
1. Basics
Getting Started Level Settings Placing Objects Editing Objects Scaling & Warping Select Color Deleting Objects Other Buttons
2. Picking Song
Starting Song Music Library Newgrounds
Song Settings Guideline Creator Later Customization
3. Gameplay Objects
Description Pads
6
6 7 11 14 16 17 20 22 26 26 27 28 30 30 31 32 32 32
1

 Orbs
Portals
Speed Changers Letter Objects Force Objects
4. Animated Objects
Description Monsters
Edit Special Particle Editor
5. Items
Description
User Coins
Custom Collectables
6. Edit Group
Functionality Using Groups Extra Options Special IDs
7. Triggers
Description Start Pos Color
Move
Stop
Pulse
Alpha
Toggle
Spawn
Rotate
Scale
Follow
Shake
Animate
Keyframe Animation Follow Player Y
33 34 36 36 39 40 40 40
41 43 51 51 51 52 54 54 56 57 60 61 61 62 62 63 66 67 68 68 68 71 73 74 75 75 76 76
2

 Advanced Follow 77 Edit Advanced Follow 84 Re-Target Advanced Follow 85 Keyframe 85 Area Move/Rotate/Scale/Fade/Tint 90 Edit Area Move/Rotate/Scale/Fade/Tint 99
Area Stop
Change BG/G/MG Touch
Count
Instant Count Pickup
Time
Time Event
Time Control
Item Edit
Item Compare Persistent Item Random Advanced Random Sequence
Spawn Particles Reset
Zoom
Static Camera Camera Offset Gameplay Offset Camera Rotation Camera Edge Camera Guide Reverse
Rotate Gameplay Song
Edit Song
SFX
Edit SFX
99 99 99
100 101 101
102 103 103 104 108
111 111 111
112 113 114 115 115 116 116 116 117 117 118 118 119 119 124 125
3

 Event
TimeWarp
Camera Mode Setup MG
BG/MG Speed Counter Label
UI Settings Visibility Link Collision
Instant Collision Collision State Collision Block Player Touch
On Death Disable/Enable Trail Show/Hide
BG Effect On/Off End
Player Control Options
BPM Guide Gradient
Gravity
Teleport
Shader
ShockWave
Shock Line
Glitch
Chromatic Chromatic Glitch Pixelate
Lens Circle
Radial Blur
Motion Blur
Bulge
Pinch
126 127 127 127 128 128 129 130 130
131 131 131
132 132 133 133 133 134 134 135 135 136 137 137 139 139 141 142 143 143
144 145 145 147 148 148
4

 Gray Scale 149 Sepia 149 Invert Color 150 Hue 151 Edit Color 152 Split Screen 152 Enter Effects 152 Move/Rotate/Scale/Fade/Tint Enter 156
Stop Enter
8. Custom Objects
9. Channel System 10. Keyframe System 11. Auto-Build System 12. Pause Menu
Options
Buttons
13. Sharing Your Level
Verifying
Level Menu
Uploading
Updating Levels Updating Descriptions Rating
14. Afterword
Suggestions Special Thanks
158
159 161 165 175 189 189 191 193 193 193 194 198 198 199 201 201 201
5

 1. Basics
Getting Started
First, you have to find your way to the editor. On the main menu, click the right button, and then click "Create" in the top left. This brings you to the screen in figure 1.1, which is your list of custom levels. Note that levels here are not public, but rather custom levels saved locally on your account. Public levels are accessed through the bottom left button. More on that later. To start a new level, do as the text says and click "New" in the bottom right.
    6

 At the top, you can set a level name and an optional description. The button in the middle lets you play the level, while the right button is where you share the level with others through the servers. To start editing, click the left button. This brings you into the editor itself.
Level Settings
A good place to start is the main level settings, which are accessed by clicking the gear button in the top right corner of the editor. This opens the window seen below.
    7

 These settings decide the level's starting state. This means that they define what a player sees at the start of their attempt. Many of these settings, such as Speed, Game Mode, and colors, can be changed inside the level itself too. This allows you to change them further into the level. Going through each option in figure 1.4 in turn, we have:
● Game Type: This is perhaps the most important option to decide on, as it changes how your level plays completely. It cannot be changed throughout the level.
○ Classic is the original way to play Geometry Dash levels, in which the
camera automatically scrolls to the side. To beat the level, the player has to avoid obstacles to make it all the way to the end of the level. This is done by clicking to change their vertical position in different ways depending on the Game Mode. For example, in the most simple mode, Cube, you jump by clicking, while something like Wave moves your icon diagonally from holding.
○ Platformer is the newest Game Type, and as the name implies, it lets the player move around freely. You can click to move left or right as you please, and another input allows jumping. How exactly the inputs work depend on the device you are playing on.
  8

 ● Speed: This sets the starting speed of your level. It can be changed at any point in the level. The blue option is the default speed, and the others are modifiers of this. Each one is fittingly indicated by a reversed arrow or more arrows depending on how much they modify the speed. The reversed orange option is the slowest option, which is roughly 25% slower than the normal speed. For double, triple, and quadruple arrows, the modifier is roughly 25%, 50%, and 75% faster than the normal option.
● Mode: This alters the way the icon moves when the player clicks. It is often referred to as Game Mode, and should not be confused with Game Type. This can also be changed at any point in the level. The different ones are shown in figure 1.6 below. From left to right, we have:
○ Cube is the default Game Mode, which has the player click to jump as previously mentioned. Interaction with objects such as Pads and Orbs make it a bit more complex, but those are handled later.
○ Ship lets the player fly, and the exact trajectory is dependent on clicks. Holding down takes you up very fast, while letting go makes you fly downwards. Clicking fast in a consistent pattern makes it possible to fly in a straight horizontal line.
○ Ball makes the player's icon circular, and movement makes it roll. Clicking switches the gameplay gravity, which means that the icon goes from rolling on the ground to rolling on the roof (or vice versa).
  9

 ○ UFO also makes the player fly, but instead of precise control like Ship, clicking makes you boost a certain distance upwards. Holding down is not possible.
○ Wave has the player move diagonally by holding or letting go. If you hold down, you move diagonally upwards, while letting go makes you move diagonally downwards. This is disabled in Platformer.
○ Robot is similar to Cube, but instead of a set jump height, the amount you hold down decides the vertical movement. Clicking very fast leads to a small jump, while holding down (to a certain limit) takes you higher.
○ Spider is similar to Ball, but clicking makes gravity switch instantly rather than a slower rolling motion.
○ Swing is also based on flying, but each click changes the player's gravity. This is disabled in Platformer.
● Options: This lets you set various other options. Most of them, like Flip Gravity and Reverse Gameplay, speak for themselves. Mini makes the player's icon smaller, altering the effects of clicks to some degree. Dual duplicates the icon into two, making it so that the player has to control two icons. Every click affects both icons. Enabling 2-Player changes this to require clicking on each side of the screen for each icon. Spawn Group lets you set a specific target object, given by its Group ID, as the spawn position. Applying Group IDs are covered more later, but essentially an object may have a Group ID for Triggers to interact with it. Clicking the top right gear button opens Legacy Options, which fix various older bugs. These should not be changed in new levels.
● BG, G, and MG: This sets the type of Background, Ground, and Middleground art to use from the start. The Ground is on the front layer, making it the only one the player interacts with directly at the bottom of the level. BG and MG are seen behind the player. The difference between
10

 these two is their layering, with Background being furthest back. All of
these three can be changed at any point in the level.
● Font: There is normally an attempt counter found at the start of levels, and
this option changes the font used for this. It also changes any other text
objects found in the level. You cannot change this further into the level.
● Select Color: At the top of the window, you can set colors for various parts
of the level. BG, G, and MG set the colors for the art described earlier. (G2 and MG2 are secondary colors used for details.) Line is an outline for the Ground. Clicking "More" lets you change the starting settings for the custom Color Channels. These are used for other objects. Note that any colors can be changed at any time in a level.
● Select Song: This is where you set what song to use. The various options and menus are handled in the next chapter.
Placing Objects
Back to the main editor screen, the main part you will interact with is the bottom section, seen in figure 1.7. To begin creating, have the "Build" button on the left selected (indicated by blue color). This is where all the different objects in the game are located. We will write "objects" in lower case to refer to objects in general, so any goes. Clicking on an object selects it for use, which lets you place it in your level. This is done by clicking at the desired position on the grid. While an object is selected, you can enable "Swipe" on the right side to place objects over the area you swipe (hold down and drag).
   11

 There are various types of objects, which are grouped into specific tabs based on their properties. Each object is only found within one tab. Inside a tab, you can also click through several pages using the arrow buttons. Going through each tab in order, we have:
● Blocks: This tab ranges from simple squares to more detailed blocks. Some have outlines, while others do not. This is visible by the white lines, indicating that they are solid, which means they interact with the player upon collision. Putting these in front of the player's movement means that they have to jump to pass them. Colliding with a line horizontally leads to death. However, landing on top of them is fine.
● Outlines: Various basic outlines are found here. As mentioned for the previous tab, these interact with the player when touched.
● Slopes: These are similar to blocks, but instead of being square they are sloped. There are two types of slopes in the game. One is basically a block cut in half diagonally, making a 45 degree angle, while the other makes a slope over 2 blocks. Interaction with a sloped outline is safe in most cases.
● Spikes: Spikes lead to death on any collision no matter what.
● 3D: These can be combined with blocks to make them look 3D.
  12

 ● Gameplay Objects: Various objects that affect gameplay are found here. For example, this is where you find objects that change the Speed and Game Mode as mentioned earlier. These are covered more in-depth in their own chapter later. Click the title for a direct link to the chapter.
● Animated Objects: While most objects are still by default, the ones found in this tab have certain animations built in. These are also covered more in-depth in their own chapter later.
● Pixel Art: Lots of different art made up of small pixels are found here. None of them interact with the player by default, but you can combine them with lines or Spikes for the effect you want.
● Items: These objects are used as Collectables that can be picked up during gameplay.
● Symbols: Various Symbols, even some art from the game's menus, are found here. None of these are solid.
● Decorations: Different types of objects that do not interact with the player. As the name implies, they are meant to be used as decorations to fill space.
● Pulsing Objects: These are called Pulsing Objects because they automatically pulse to the beat of the song. Pulsing in this case means scaling to a bigger size for more intense audio.
● Rotating Objects: Many circular objects that automatically rotate, such as saws but also decorations. Saws are spiky and lead to death upon collision. The speed and direction of all these objects can be customized.
     13

 ● Triggers: Triggers are more complex objects that let you do endless customization, whether it is something as simple as moving an object to something complex like making a bossfight. None of these objects show in the level itself when played, but start their set operation when passed on the X axis during gameplay. You can also make them Trigger when touched by the player. Every Trigger is covered in-depth in its own chapter.
● Custom Objects: This tab is empty when you are new to the editor. It lets you save combinations of objects to be reused at any time, even in another level. Each one can have maximum 1000 objects, and you can make 250 custom objects in total. See the dedicated chapter for more details.
Editing Objects
After successfully placing objects in the editor, you may want to edit them in some way. Figure 1.10 shows an example. Assume you want to move these three Spikes (often referred to as a "triple Spike") one block to the right. To do this, you have to click the "Edit" button in the bottom left. Afterwards, you can click an object to select it for editing. Normally, you can only select one object at a time. To select all three at once, enable "Swipe" in the bottom right as seen in the example. This lets you swipe over the objects you want to select.
    14

 Now that the objects are selected, indicated by the green outline, we can move onto actually editing them. The buttons in the lower section, seen in figure 1.11, are all used for this. Most of these are self-explanatory, so testing them out yourself is recommended. The various arrows move the selected object(s) in their given direction. How much they move is indicated by the number of arrows. Other buttons, like the circular arrows, let you rotate the object(s) a given amount. The one with "Free" inside it lets you rotate as much as you would like.
Having found the correct button, double arrow to the right, we get the result in figure 1.12. Another way to do this is by selecting "Free Move" and "Snap" in the bottom right. The former lets you move the selected objects wherever you want, even outside of exact grid positions, while "Snap" puts the objects in exact grid positions. Together, this combination gives us the result we wanted, but you can also use "Free Move" on its own to move off-grid.
    15

 If you are satisfied with your edits, click the "Deselect" button on the far right. You can also deselect the objects by placing new objects. After this, you can go ahead and place or edit other objects. Additionally, you may see another "Rotate" button in the bottom right that has not been covered yet. This has the same functionality as the previously mentioned "Free" rotation button but is easier to access.
Scaling & Warping
The last three buttons in the "Edit" tab, as the names imply, let you scale or warp the object. This means to change its form and/or size in some way. In essence, each of these buttons can do the same thing, but with even more control sequentially. The first "Scale" only lets you scale the objects in place, which means they keep their original aspect ratio. With the second one, you can scale for the X and Y axis as you wish, allowing for even more control.
With "Warp", you get the most control. Selecting it opens the interface seen in figure 1.13, which features various buttons. Each of the square buttons let you scale as with the previous two buttons. You use them by holding one down and dragging to your desired scale. If you want the scaling to be in place, you can toggle the lock in the top right. As for the circular buttons, the middle one
  16

 is used as an anchor point for rotation, while the outer one performs the actual rotation. Finally, we have the two rectangular buttons outside the square ones. These let you skew the objects in a given direction. As an example, dragging the top one to the left results in the example below. The anchor point also affects how much you can skew.
Select Color
After having warped the Spikes successfully, you may want to change their color a bit. Assume you want to make the outline of the left Spike red. This is done by selecting the object and clicking "Edit Object" on the far right, which opens the menu seen below.
    17

 In here, you have various options for coloring the object. Selecting "P-Col 1" or "P-Col 2" makes the color based on the player's colors. "Light BG" makes it a lighter shade of the Background Color, while "Default" simply sets it to its default. For Spikes, this is white, but it varies from object to object. Below this, you can select custom Color Channels that can be specified freely. These are numbered from 1 to 999. "Next Free" finds the next unused Color Channel, which is 1 in our case. To begin customizing it, click on top of the colored square in the bottom right. This opens the following menu:
Here, you have various options to set the color of the object. Selecting the color by using the outer wheel and then its shade by using the inner circle is the easiest way. You can also specify a color exactly by its "RGB" or "HEX" values in the bottom right, while "Opacity" changes how transparent the color is. "Copy" and "Paste" in the top right are used if you want to copy and paste colors across channels, while "Default" sets it back to the standard white.
  18

 On the left, "Copy Color" lets you input another Color Channel to copy from but with potential changes to HSV. HSV is also seen in figure 1.15 as a "HSV" button. This allows you to change hue, saturation, and brightness of the color for the selected object (and not the channel as a whole). By default, the color is solid, but enabling Blending makes it blend with the visuals behind it. "Player Color 1" and "Player Color " are, as explained earlier, based on the player's choice of colors.
With the object's color set to red, it is successfully colored as seen above. The defined Color Channel can also be given to other objects you wish to have the same color. It is worth noting that the Color Channel's settings can be changed throughout the level using a Color Trigger. Changing it inside the menu in figure 1.15 only sets the starting values for the channel. Additionally, note that some objects have two different parts that can be colored. This is indicated by a "Detail" button next to "Base" in the top left of the color menu, allowing you to switch between the settings of each. In our example, the Spike only has one customizable color, which is the outline, so only "Base" is shown. This is called the Base Color, while some objects also have Detail Color.
   19

 Deleting Objects
If you place the wrong object, you may want to delete it from the level entirely. This is done in the bottom tab called "Delete", which is shown in figure 1.18. Just having this tab opened allows you to click any object to delete it. As with building and editing, you can select "Swipe" on the right to drag over multiple objects you want to delete. However, there are numerous other options inside the tab as seen below.
The four buttons on the right are filters for deleting. These are useful if you have many different types of objects overlapping, and you only wish to delete certain types of them. If you have "None" selected, which is the default, any objects can be deleted. Switching to "Static" means that only solid blocks can be deleted. As for "Details", this covers a lot of different types of objects, such as Portals, decorations, Triggers, and more.
    20

 If you enter this tab while having an object selected (from the "Edit" tab), you get some more options. Switching to "Custom" on the right makes it so that only the selected object can be deleted. After enabling this, you can head back to "Edit" and swipe to select an area of objects you want to delete from. Afterwards, head back to "Delete" and click the top left deletion button (indicated by a trash can), either within the tab or in the top left of the editor. Both of these do the same action, but the latter is easier to access at any time. There is also the "All" button on the left which deletes every instance of this object in your level. Next to this is a button to delete all Start Pos Triggers.
Finally, we have the four middle buttons marked in the figure above. Opening each one gives a good idea of what they do, but they are covered shortly here. The top left one lets you find a specific Group ID. Looking up Group ID 23, for example, will take you to an object using this if it still exists and is not deleted. If there are multiple objects using this Group ID, you are taken to the object that received it first. The two buttons to the right are Group ID and Color Channel filters respectively. As an example, writing "1" in either means that you can only delete objects with Group ID or Color Channel 1 while in the "Delete" tab. This is useful if you wish to delete only objects using that specific color among many others. The bottom left trash can button is a quick way of resetting all of these filters without having to go into their window. You can also use these filters to select objects by enabling "Select Filter" in Options.
    21

 Other Buttons
There are still many buttons in the user interface that we have not touched on yet, which are summarized here. Some of them are covered more in-depth later on when appropriate. We will be using figure 1.21 to cover specific buttons, referencing them by colored boxes that have been drawn on top (not from the game).
In the top left, marked in purple, are buttons to undo and redo the recent action. As an example, you can use this to recovered a wrongly deleted object. However, note that not all actions can be undone or redone, such as applying Color Channels or Group IDs. Below these two buttons, we have playtesting buttons marked in yellow. The top one playtests the music of the level, showing a line moving to help sync visuals to the song. The lower one lets you playtest your level inside the editor, starting from the start or a set start position.
   22

 In the white box are buttons for zooming in and out inside the editor, letting you see details more clearly or whole areas at once. Right next to these are some optional buttons that are enabled from Options referred to as Link Controls. Clicking the top one links several selected objects together, making them act as a single object (for editing or deleting). The bottom one, on the other hand, unlinks linked objects.
At the top, marked in black, is a slider that simply lets you slide through your level horizontally inside the editor. You can also move around by simply swiping in a given direction. To the right of this slider, in the top right, we have the start level settings covered earlier, as well as the Pause Menu shown below. This opens up many other options covered later. However, for now, we note the middle buttons since these are most important as a beginner. "Resume" goes back into the editor, while "Save and Play" saves the level and starts an attempt on it. This lets you see exactly how the level will play for other users once uploaded, unlike playtesting in the editor. "Save and Exit", "Save", and "Exit" are self-explanatory.
    23

 Back to figure 1.21, we have the numerous buttons inside the red and blue boxes on the right. These are shown together in an edited image below for easier access. Many of these are self-explanatory, while others are not.
"Copy", "Paste" and "Copy+Paste" all do similar actions, which is making a new copy of the selected object(s). The button that has both in one will copy the selected object(s) and place the copy on top of the old one. If you wish to copy something from one spot in the editor to somewhere far away, the separate buttons are useful. Simply use "Copy" on what you want to copy, move to where you want to paste, and click "Paste". This also works across levels if you want to copy something into another level you are working on.
"Copy Values" copies Group IDs and Color Channels, allowing you to paste them onto other objects. "Paste State" does both, while "Paste Color" only pastes the color information. "Edit Special", "Edit Group" and "Edit Object" are all for editing objects, but they work in different ways. Edit Special and Edit Group have a lot of functionality, and are covered in later chapters found by the links, while Edit Object was covered earlier for a Spike. For many objects, this simply lets you change the object's color as shown there. However, for some objects, such as Triggers, it lets you change their settings.
       24

 The button with three colored circles give you quick access to editing a Color Channel, opening a menu that can be used while editing objects. Clicking it another time switches to a HSV menu. As mentioned earlier, "Deselect" is simply used to deselect selected objects.
Finally, we have "Go To Layer", which is closely tied to the arrows and number below it. The pink arrows allow you to switch between different layers to build on, making it easier to organize more complex constructions. You can only access objects on a specific layer for editing or deletion if you are on it. However, you can also toggle editing or deleting a layer by clicking on top of the number, which locks the layer's objects from being changed. Click it again to unlock it. As for the blue arrow on the left, this simply returns you to the "All" layer, which shows every layer together. While in here, you can select an object and click "Go To Layer" to go its specific layer quickly.
25

 2. Picking Song
Starting Song
The majority of the community's favorite Geometry Dash levels are largely due to their great music synchronization, so picking a song is obviously important when creating. To pick one, we head back to the level settings:
The bottom of this image is where the starting song of a level is set. By default, it shows "Normal" songs, which are the official main level songs ("Stereo Madness", "Back On Track", and so on). If you want to make a level with one of these songs, use the arrows to go through and stop on the one you want.
Selecting "Custom" instead, we have hundreds of thousands of songs to pick from. Click "Select Custom Song" to open the menu seen in figure 2.2 below. This has various buttons that serve different purposes. For now, we focus on the two circular buttons in the middle, one called "Music Library" and the other being the logo of Newgrounds. This is a website for various user-created content, such as music.
   26

   Music Library
The Music Library is a new addition in update 2.2, which has many songs handpicked by RobTop for use by the community in levels. Once clicked, the interface below is seen. By default, every song is shown in alphabetical order by their title, which is a lot to scroll through given the song count. (As of writing, it is 6391, seen at the bottom of the menu.) To sort through the library, use the buttons on the sides. On the right side, the first button lets you filter by specific genres, while the second lets you filter by specific artists. As for the left side, there is a search button that lets you search for title keywords.
  27

 The figure shows both downloaded and non-downloaded songs. You have to download them to be able to listen to or use them. Once a song is downloaded, click the playtest button to listen to it. Once you have found a song you wish to use from the start of your level, simply download it and click the pink "Use" button. Exiting the Music Library, the selection is now filled in:
Newgrounds
Before 2.2, the main way to select a custom song was through Newgrounds. Clicking its button gives more details on how it works, but you basically have to search a song by its specific ID. The ID is found at the end of its link on the website. For example, imagine that I am a fan of Creo and want to use his song "Dimension". Click the link to open the following page:
     28

 Here, you can listen to the song and easily skip around to hear different parts of the song. Browse the "Audio" tab to find other songs to use. Once you have found a song you want to use, you have to write its ID into Geometry Dash. As seen in the top left of the previous example, the link for "Dimension" by Creo ends with "709578". Typing this and clicking "Search" finds the song as seen below. Note that not all songs are available in Geometry Dash. This is something the artist can toggle themselves. The best way to find out is by testing its ID, which will give an error if it is not available for use in the game.
Make sure you click the download button and then "Use" on this screen too. After downloading any songs, whether it is through the Music Library or Newgrounds, you can find them all through the "Saved" button in the bottom right. This is also the case for any songs you download while playing custom levels on the servers. In here, you can easily select a previously downloaded song for use too.
  29

 Song Settings
When picking a song, you may not want to use it from the start but rather from a set point further into the song. Clicking the gear in the top right of the custom song selection menu lets you do this. "Start Offset" is given in seconds, allowing up to 3 decimals, with a playtest button to help you make it as exact as possible. The fade options makes the song fade in at the start or out at the end. Note that these can be used even with a main level song.
Guideline Creator
To help you sync the gameplay and visuals of your level to your song of choice, you can click "Create Lines" in the bottom left. This opens the menu seen below. The text itself gives good steps for how to do it, which is essentially clicking "Record" and then clicking to the song. You can, for example, time each click to the main beat. After you are done, click "Stop" and vertical lines will be shown in the editor to indicate when you clicked. As a result, you can time specific gameplay or visuals to these lines, for example to Pulse Triggers (where a specific color, such as the Background, turns brighter for a split second). Note that you can toggle the guidelines in the Pause Menu.
    30

   Later Customization
The settings covered thus far are all for the starting song. However, the editor lets you change the song further into the level, as well as customizing the current song in many ways. You can, for example, change the speed or edit the volume based on proximity (to the player). Additionally, up to 5 songs can be overlapped at once, giving a lot of possibilities. These customizations are done using the Song and Edit Song Triggers at the point you want them to take effect. Further audio customization is possible using SFX Triggers handled in the same chapter.
With the possible complexity of your level's audio using these Triggers, the Guideline Creator shown above is not as helpful anymore. To handle such cases, you can use BPM Finder within each song's details. Click "More" next to a song and then "BPM" to open its menu. The way it works is similar to the Guideline Creator, but it only finds the BPM for you and does not draw guidelines automatically. Afterwards, you can use a BPM Guide Trigger together with the song's placement in the editor to create guidelines.
    31

 3. Gameplay Objects
Description
This chapter handles the sixth tab in the editor, referred to as Gameplay Objects because they affect gameplay or interact with the player in a different way than other objects. These range from giving small boosts through Pads or Orbs to customizing the starting settings further into the level, such as Game Mode and Speed. The first page is seen below. Many of these only work the first time they are interacted with, but you can enable "Multi Activate" in Edit Special or Edit Object to allow multiple interactions. This is useful if your gameplay switches direction, making the player pass by a Gameplay Object several times.
Pads
The first 5 objects in the tab are often referred to as Pads. When a player touches one of these, they are affected in some way depending on the type of Pad. The first three give various vertical boosts, while the last two switch gravity in different ways. For the blue one, the gravity switch is natural, keeping horizontal velocity, while the purple one teleports you vertically until an object is hit. This is similar to how Spider works. An illustration of the various Pads, with the player path in green, is shown below. To refer to a specific one, you simply use the color, so the leftmost one is called Yellow Pad.
      32

   Orbs
Orbs work similarly to Pads, but instead of being activated upon being touched, they have to be clicked by the player. The ones with the same color as in figure 3.2 have a similar effect, as seen in figure 3.3. There is also a Green Orb, which works like a Yellow Orb but also switches your gravity. However, there are five extra Orbs that do not have an equivalent in Pads. These are seen in figure 3.4 with their common names in the figure text. The Black Orb simply pushes you downwards, while the Dash Orbs take you in a straight line in the arrow's direction as long as the player holds down. Once released, the Green Dash Orb keeps the original gravity, while the Pink Dash Orb switches it. The Teleport Orb lets you set a specific object to teleport to when clicked. Finally, the Trigger Orb lets you toggle a specific Group ID.
  33

   Portals
Portals change the gameplay in various ways. Their effect is only activated if the player passes through them. First, we have the Game Mode Portals. These are seen in figure 3.5 below, ordered in the same way as in the start settings: Green is Cube, pink is Ship, red is Ball, orange is UFO, blue is Wave, gray is Robot, purple is Spider, and yellow is Swing. Use these at any point in your level to switch the player's Game Mode. Some Game Modes, such as Ship, have a floor and roof by default. Click "Edit Object" and enable "Free Mode" to remove these.
  34

 In figure 3.6, various other types of Portals are shown. First, on the left, are Gravity Portals. The blue one changes gravity to be normal (down), while the yellow changes it to be upside-down. As for the green one, it switches to the opposite gravity depending on your current gravity. If you are upside-down and go through it, gravity turns normal, and vice versa. This is useful if a part's gravity is dependent on the player's actions and you want to force a gravity switch. After all, if you are in normal gravity and pass through a Blue Gravity Portal, it has no effect since that is already the player's gravity.
Secondly, we have Mirror Portals, which essentially mirror the entire level. Once activated, this means that instead of going towards the right, the level goes towards the left. The Orange Mirror Portal switches to the left, while the Blue Mirror Portal switches to the right (which is default).
Third are Size Portals. The pink one makes the player's icon smaller in the current Game Mode, often referred to as Mini Mode. This changes the gameplay in some ways depending on the Game Mode, such as jumps being lower and shorter in Cube and Robot. If the Game Mode changes, Mini Mode is still kept until the size is changed back to normal. That is done with the Green Size Portal.
  35

 Finally, on the far right, we have Dual Portals. The orange one enables Dual Mode, which duplicates the player's icon into two. Both of these are controlled upon clicking. By default, every click affects both. However, you can enable 2-Player Mode in the level settings, making it so that clicks on each side of the screen control each icon. To switch back to one icon, use the Blue Dual Portal.
Speed Changers
Speed Changers are pretty self-explanatory, but if you want more details, check Level Settings. As with Portals, they are enabled when a player interacts with them. The blue lines around them (not seen in-game, only in the editor) indicate their hitbox. This is where you have to touch them to change the speed. Naturally, if the Speed is already normal, for example, going through a Blue Speed Changer (one arrow to the right) does nothing.
Letter Objects
At the end of the tab, there are various letters inside white squares. These are only visible in the editor itself (and not in-game). They are used in very specific use cases to alter player interactions in some way. In order from first to last, we have Letter Objects with "D", "J", "S", "H", and "F" written on them, which are covered in order here.
   36

   First is "D", which is used when the Game Mode is Wave. As seen in figure 3.8 on the left, the player will normally die when the icon hits a block below it (and similar above it). However, adding D Letter Objects allows the icon to hit the blocks. The placement of these objects decide which blocks are safe.
The J Letter Object is used to stop jumps when the player holds down in Cube. Many players hold down a little after using an Orb, such as a Blue Orb, and after hitting objects this may lead to an unwanted jump. This is seen on the left in figure 3.9. Adding the J Letter Objects here, holding down from the Blue Orb does not result in a jump. Note that clicking again while on top of these Letter Objects does lead to a jump. This only affects holding.
  37

   By default, using a Dash Orb lets you hold it down as long as you want. The player decides when its action ends by releasing. However, at times it may be wanted to control when a Dash Orb's effect stops. This is done by placing S Letter Objects as seen in figure 3.10. The player can still release before this if they wish, but they cannot use the Dash Orb for longer than the S Letter Object's placement.
In Cube, jumping into a block above you and "hitting your head" normally leads to death. Using H Letter Objects stops this. This works the same way if the gravity is switched, and it also applies for Robot. Last are F Letter Objects, which switch gravity when you hit your head on them. An example of this is seen here:
  38

   Force Objects
Last in the tab are Force Objects, seen as an arrow inside a circle or square. These apply a set force in the direction of the arrow when touched. This means that you can rotate them in the direction you want them to work. The difference between the two lies in the hitbox, which is indicated by the circle and square. Similar to letter objects, these do not show in the level itself, so it is probably smart to find some way to indicate them with decorations. This makes it less annoying for the player. Use "Edit Object" to change various settings, such as the force applied.
  39

 4. Animated Objects
Description
Animated Objects are in the seventh tab. Each object here consists of several frames, which the game cycles through and loops forever to create animations. The most complex Animated Objects are particles, which can be customized in the Particle Editor. Many Collectable Objects are animated as well and have similar settings. The first page of the tab is seen here:
Monsters
As seen above, the first 5 objects in the tab are various Monsters. Once placed, these do different default animations. However, they can be customized using the Animate Trigger covered later. To use the Animate Trigger on a Monster, you have to assign it a Group ID. Select the Monster you want to change the animation of and click the "Edit Group" button found on the right. In this menu, enter a value in the "Add Group ID" field. "Next Free" is helpful to find an unused Group ID. To assign that value, click the "Add" button, as seen in figure 4.2. You can use the same Group ID for different kinds of Monsters. However, their animation cycles may not align with each other, resulting in unwanted results. Because of this it is recommended to use a different Group ID for every kind of monster. You can find more information about Groups and Triggers in the later chapters.
        40

  .
 Edit Special
The objects beyond the Monsters do not let you change to another animation specifically, but you can use "Edit Special" to customize its default animation in some ways. To do so, select the objects you want to edit and click the "Edit Special" button found to the right. The menu will look like this:
  41

 All options change different attributes of the animation cycle. Here is a list of all options and what they do:
● Randomized Start: By default all Animated Objects start on their first frame. With this option enabled, the first frame is random, and the animation will continue normally from that point.
● Use Speed: Uses a custom speed for the animation, which gets configured with the slider below. A speed below 1.00 is slower than default, while a speed above 1.00 is faster. You can input negative values to reverse the animation.
● Animate on Trigger: The objects freeze on the first frame. They begin their animation when an Animate or Spawn Trigger Triggers them.
● Disable Delayed Loop: Some objects get delayed before looping. This option instantly starts the next loop.
● Disable AnimShine: Some Animated Objects have a white flash at the start of their animation, which gets deactivated with this option.
● Only if active: Addition to the "Animate on Trigger" option. With this option, the "Animate on Trigger" option will only play if the object is active. If the animation is not active while an Animate or Spawn Trigger Triggers it, the animation will instead begin once the object is active again.
● Single Frame: The animation will not play and instead only display a single frame of the animation, which gets chosen with the number field below.
    42

 Particle Editor
The Particle Editor allows you to create your own set of particles. To get started, you first have to place its object. It is the first object in the tab, seen as a white "P" and shown in figure 4.4.
  While having this object placed and select, you can access the Particle Editor by clicking the "Edit Special" button on the right. This opens the menu in figure 4.5. In here, you can configure different attributes of your particles, such as their movement, color, texture, and more.
  In the following sections we will go through all the tabs and explain what every option does. You can copy and paste configurations from different particles by using the "C" and "P" buttons at the top.
43

 First, we have the "Motion" tab, which configures the particles' movement. You can edit the motion of your particles in "Gravity" or "Radius" mode. Depending on what mode you choose, you will have different options available.
● Max Particles: The amount of particles that can be visible at once.
● Duration: How long particles will be generated. "-1.00" means they will
spawn forever, which you can input by clicking the "Inf." button to the
right.
● Lifetime: How long particles are visible before they disappear.
● Emission: At what rate particles spawn. You can click the "Max" button for
the highest possible rate or click the "Calc" button to use the "Max
Particles" and "Lifetime" values to generate them at an even rate.
● Angle: The angle at which the particles will go. A value of "0" means right,
"90" down, "180" left, and so on.
● Speed: The speed at which the particles go from the center.
  44

 ● PosVar: Position variables indicate the space in which the particles can spawn.
● Gravity: This applies a gravity force to the particles. The higher the value, the stronger the force. Positive values make the gravity go right and up, while negative values make the gravity go left and down, depending on what slider you choose.
● AccelRad: Refers to the radial acceleration of the particles.
● AccelTan: Refers to the tangential acceleration of the particles.
● StartRad: This option is only available in "Radius" mode. It sets the start
radius of the particles.
● EndRad: This option is only available in the "Radius" mode. It sets the end
radius of the particles.
● RotSec: This option is only available in the "Radius" mode. It refers to
rotations per second.
Next is the "Visual" tab, which lets you change how the particles look. The start and end colors are customized in the top left.
  45

 ● StartSize: The size the particles have when they spawn.
● EndSize: The size the particles have when they despawn.
● StartSpin: The rotation of the particles when they spawn.
● EndSpin: The rotation of the particles when they despawn.
● Start R/G/B: Percentage of red, green, and blue values when the particles
spawn.
● Start A: Opacity when the particles spawn.
● End R/G/B: Percentage of red, green, and blue values when the particles
despawn.
● End A: Opacity when the particles despawn.
In the "Extra" tab, seen below, various other configuration can be done.
  46

 ● Free: With this option enabled, you do not move the particles but pan the camera around.
● Relative: With this option, particles do not move when you move the object but spawn at the new position.
● Grouped: With this option, all particles move when you move the object.
● Fade in/out: Fade time for the particles to appear and disappear.
● FrictionP: Adds friction to the particles.
● FrictionS: Adds friction to the particle speed.
● FrictionR: Adds friction to the particle rotation.
● Respawn: Modifies the rate at which particles respawn.
● Additive: This is comparable to the blending option for Color Channels.
● Start Size = End: The particles have the same size at the end as the start.
● Start Spin = End: The particles have the same rotation at the end as the
start.
● Start Rad = End: Changes the "StartRad" value to be the end instead of
the start. This option only works in "Radius" mode.
● Start rot is dir: The rotation of the particles when they spawn is the
direction they will go towards.
● Use obj color: Particles use Color Channels instead of the color specified in
the visual tab.
● Uniform obj color: Makes the beginning and ending colors the same.
● Dynamic rotation: The particles rotate to face towards the direction they
are going.
● Animate on Trigger: The objects freeze on the first frame. They begin their
animation when an Animate Trigger Triggers them.
● Animate Active Only: Addition to the "Animate on Trigger" option. With
this option, the "Animate on Trigger" option will only play if the object is active. If the animation is not active while the Animate Trigger is activated, the animation will instead begin once the object is active again.
  47

 ● Order Sensitive: Orders particles with newest ones on top.
● StartRGB Var Sync: Syncs the "Start R/G/B" values from the "Visual" tab.
● EndRGB Var Sync: Syncs the "End R/G/B" values from the "Visual" tab.
● Quick Start: By default, the particles will start slowly before reaching their
normal movement. With this option, normal movement is achieved instantly.
In the "Texture" tab, the actual texture of your particle is chosen. Note that for textures with a Base Color other than white, such as the Difficulty Faces, the particle color has to be white. Choosing a color other than white will tint the colors, which may lead to unwanted results. Based on prior settings, the particles may even disappear if you choose black for the particle color.
  48

 The Particle Editor preview is on the left half of the settings menu. In this editor, you can configure motion options by dragging lines around and positioning the particles at different locations. The default version of the editor looks like figure 4.10, but it will automatically update the motion, color, and texture depending on prior configurations.
All buttons allow you to modify different parts of the motion. Choose the mode by clicking on the corresponding button. If no button is enabled, you can move the particles inside the editor. Their movement depends on the "Free", "Relative", and "Grouped" options from the "Extra" tab.
The first button, "1", edits the "PosVar" values in "Gravity" mode, and the "StartRad" value in "Radius" mode. You can change them by clicking on the green line and moving it around to scale it, as seen in figure 4.11. If you click on an edge, you can change the size on the corresponding axis. If you click on a corner, the size will change relative to the corner position in the square.
  49

 The second button, "2", edits the "Gravity" values in "Gravity" mode, and the "EndRad" value in "Radius" mode. You can change them by clicking somewhere in the editor and moving around. The blue line will draw from the center to the position you are at, with a longer line indicating a stronger gravity in the corresponding direction, as seen in figure 4.11.
The third button, "3", edits the "Angle" value in both modes, as well as the "Speed" value in "Gravity" mode. You can change them by clicking somewhere in the editor and moving around. The angle will change to the angle between the center and your click, and the speed will adjust depending on how far the mouse is from the center. The angle is indicated by the rounder yellow line, while the speed is indicated by the straight yellow line, as seen in figure 4.11.
The "C" button recenters the particles if you moved them around, and the last, colored button changes the background color of the editor.
  50

 5. Items
Description
Items are found in the tenth tab of the editor, and consist of various objects that are suitable as Collectables. This means that they can be picked up throughout the level, whether they are optional extra challenges or necessary to advance. You can also use many of these as decorations if you wish. The first page of the tab is seen here:
User Coins
The first object in the tab are User Coins. These are the most used Collectables in the game because they are official. This means that they show on a level's menu screen and may count towards player statistics. You can place up to three of these in your level, but note that you do not need to put any. They are supposed to offer an extra, optional challenge for the player, meaning that they should not be a part of the level's normal route and free to get when beating the level. Once you upload your level, they will initially show as bronze both inside the level and on its menu screen. However, if your level gets rated, RobTop can "verify" the coins, making them silver and count for statistics. This means that players get more User Coins on their Profile if they collect yours and beat the level. Note that he may not verify them if your User Coins are free. Similar to Animated Objects, you can use Edit Special to edit their default rotating animation.
   51

 Custom Collectables
All other objects in the tab function as custom Collectables. You can assign specific actions to them that will be activated once they get collected. This can be editing a specific Item ID, activating or deactivating a specific Group ID, or assigning Points that add up for the player. To access these options, first place the Collectable you want to use and click "Edit Special". This opens the following menu:
You can use "Pickup Item" to change the value of an Item ID. Item IDs are variables that can be edited and referenced throughout the level. Enter the Item ID you want to change in the "ItemID" field. By default, the Item ID will be increased by one. By enabling the "Sub Count" option, it will be decreased by one instead. You can read the Pickup Trigger section, as well as the various Item Triggers, for more information on Item IDs.
    52

 Use "Toggle Trigger" if you want the Collectable to behave like a Toggle or Spawn Trigger. By default, the Group ID will be toggled off. If you click the "Enable Group" option, the Group ID you input in the "Group ID" field will toggle on instead. If the Group ID is assigned to a Trigger, the Trigger will be activated like a Spawn Trigger instead. You can read the Using Groups section for an explanation of what Group IDs are and how to use them.
The "Particle" option allows you to spawn particles when the custom Collectables are collected. Assign a Group ID to your set of particles and enter that Group ID in the "Particle" field. Note that your particles cannot have an infinite duration for this to work. You can check the Particle Editor subchapter for more information about particles and how to use them.
Lastly, you can assign Points to the Collectables. Points function similarly to Item IDs. However, they count as a single variable and are used for the Level Leaderboards in Platformer levels. The number you input in the "Points" field is how many Points the custom Collectables will award when collected.
     53

 6. Edit Group
"Edit Group" is one of the most important buttons in the game. It is found on the right side of the editor when the object(s) you want to edit are selected. This menu is what enables you to change attributes of your objects through various options, as well as adding Group IDs to link to Triggers.
Functionality
The options are used to set editor layer, assign Group IDs, change the Z position, set the Order, and set up Channels. Here is a list of all the settings seen in figure 6.1 and a short explanation of what they do.
● Editor L and Editor L2: These options place objects at different editor layers. Objects will appear on both editor layers once set. If "Editor L2" is 0, however, the objects will only appear on the layer set in "Editor L". You can use the "+" buttons to get the lowest layer that has no objects placed on it.
● Z Layer: Seen at the bottom, this is used as the drawing order of objects. In order of increasing priority, it goes from "B5" to "T4" selected by the
   54

 buttons. Objects in layers starting with a "B" are below the player, while objects in layers starting with a "T" are above the player. When multiple selected objects are in different "Z Layers", you can use the "+" and "-" buttons to move everything up or down one step in layer respectively. To change the drawing order of objects even further, see below.
● Tileset: This term is not directly seen in figure 6.1, but its value marked to the right of "Z Layer" in parentheses. It specifies the tileset number of the selected object(s). For similar types of objects, this will typically be the same value. For different types of objects in the same "Z Layer", the tileset value specifies its priority. Within the same "Z Layer", an object with a lower tileset number is always drawn above one with a higher value. To bypass this, you can move the object with a higher value to a higher "Z layer". See figure 6.2 for an example.
● Z Order: Seen in the top right of figure 6.1, this sets the drawing order of objects that are in the same "Z Layer" and also have the same tileset number. If this is the case, putting a higher "Z Order" makes it drawn on top. You can input positive and negative values in this field.
● Add Group ID: Assign up to ten Group IDs, which you can later use in other Triggers. How to use Group IDs is covered later in this chapter.
● ORD: This option only appears for Gameplay Objects and Triggers. It sets an Order in which the objects get activated.
● CH: This option only appears for Gameplay Objects and Triggers. It assigns a Channel to the objects, which are used for Rotate Gameplay Triggers to work with different gameplay directions. See Channel System for more information.
Copy and paste settings from different objects using the "Copy" and "Paste" buttons in the top right. The "Extra" and "Extra2" categories have special options, and are covered below.
       55

   Using Groups
Group IDs are essential for Trigger usage. You can add up to ten Group IDs to a specific object. To assign a Group ID to objects, enter the Group ID you want to add into the number field and click the "Add" button. The number will be added to the window below in gray, as seen in figure 6.3. Clicking the "Next Free" button inputs the lowest Group ID value that has not been used in the level yet.
  56

 To remove a Group ID, simply click the one you want to remove. If you have a single object selected, a new "P" button appears next to "Add". This is used to mark the object as Group Parent ID. After clicking the "P" button, the corresponding Group ID will show in pink instead of the normal gray, as seen in figure 6.4. You can use Group Parent IDs for different Triggers.
Extra Options
Extra options are in the "Extra" and "Extra2" buttons on the right side of the menu. These tabs have many options that change the attributes of objects, some of which are only accessible if the selected object is a Gameplay Object or Trigger, and others are only useful for Platformer. Here is a list and a short explanation of the options in "Extra" do:
● Dont Fade: Disables fading in and out when entering and exiting the screen. This is default behavior for all visible objects.
● Dont Enter: Disables any applied Enter Effects.
● No Effects: This option deactivates the effects of Portals. Some examples
include the Background lightning for Size Portals and gravity lines for Gravity Portals.
      57

 ● Group Parent: Sets an object as a Group ID Parent, which is used for scaling and rotating objects.
● Area Parent: Marks an object as the Area Parent, which can be used for Area Triggers.
● Dont Boost Y/Dont Boost X: Disables the player being boosted by a moving object for the given axis.
● High Detail: Marks an object as High Detail. Objects marked as High Detail get disabled when the player enables the Low Detail Mode on the level page. This is useful if your level has a lot of extra, unnecessary details that can lead to poor performance for some users.
● NoTouch: Disables interactions between the player and the objects
● Passable: You can jump through solid objects but land on them from the
top.
● Hide: Makes objects invisible.
● NonStickX/NonStickY: Only usable for Platformer. The player will stick to
moving objects by default. This option removes the friction so the player
does not stick to the objects.
● ExtraSticky: When the player stands on an object that moves down too
fast, the player will not stick to the block anymore. This option increases
how sticky it is.
● Extended Collision: Objects with a scale larger than a value of 6 have
inaccurate hitboxes. This option fixes the hitbox to be accurate again. Note
that this does not apply to the visuals of objects.
● IceBlock: Only usable for Platformer. This option makes blocks slippery, so
the player slides further. Controls are also harder.
● GripSlope: By default, the player can not slide up steep slopes and will
slide down instead. With this option enabled, the player has more grip on slopes so that they can slide up.
 58

 ● NoGlow: Disables the glow emitted from solid objects and Spikes, as seen in figure 6.5.
● ScaleStick: By default, the player's X position will not change when standing on a scaling object. With this option enabled, the player's position moves the corresponding distance from the scale center.
● NoParticle: Disables the particles on Orbs and Portals.
● Center Effect: When previewing Triggers with "Touch Trigger" enabled in
the editor, the effect spawns when the player touches the Trigger at all.
With this option enabled, it will only spawn when at the Trigger center.
● Single PTouch: This option is used for Rotate Gameplay Triggers and Dual
Mode. If one of the players touches the Trigger, only that one is affected.
● No Audio Scale: Disables pulsing for both Orbs and Pulsing Objects. See
the figure below.
  59

   Special IDs
Special IDs are in the "Extra2" tab and are used for some Triggers. They have no effect on their own. Here is a list of all the Special IDs and a short explanation of their usage.
● Enter Channel: Enter Channel IDs are used for Enter Effects and Custom Enter Effects, which are covered in greater detail later. You can click the "+" button to get the lowest Enter Channel ID that is unused.
● Material: You can assign Material IDs to objects for set events upon interaction. For example, you can add a Material ID to all ground blocks and use it in Event Triggers to Trigger a stone sound whenever the player lands on them.
● ControlID: This option is only available for Gameplay Objects and Triggers. Control IDs are used to reference specific objects when using the remapping setting in Spawn Triggers.
When using "Edit Group" with a Trigger, additional options "EDP" and "EDO" show below the "Extra" buttons. "EDP" stands for editor preview, and it enables "Touch Trigger" Triggers while playtesting. "EDO" stands for editor playback object, which makes music playtesting start from this Trigger.
        60

 7. Triggers
Description
There are over a hundred Triggers in the game. These are found in the second to last tab, seen below. As explained earlier, Triggers are used to perform various complex actions. They may alter visible objects, such as blocks, in some way, or just change the gameplay or visuals. Since they work in this way, they are never visible objects that can be seen when playing a level. You place them in the editor, and they do their action when the player passes the Trigger's position or other linked events. For example, Triggers that have the "Touch Trigger" option enabled will be triggered when the player touches them. There is also a "Spawn Trigger" option, which means it is spawned by a Spawn Trigger or different conditional Triggers, like Touch Triggers, Count Triggers, Time Triggers, and more.
Below this, every Trigger is covered in-depth in order. If you are unsure about the name of a Trigger found in-game, you can find it by looking at the title inside Edit Object. This is also where you will edit a Trigger's settings. Note that you can also find some simple quick help there by clicking the information button (shown as an "i" in one of the corners). This guide works best as an additional resource if any of that text is unclear. Previous knowledge in this document, such as Edit Group, is expected to be able to work with Triggers well.
         61

 Start Pos
This Trigger is used to set a custom starting location of the player for playtesting. Levels cannot be verified if they include a Start Pos Trigger.
The "Speed" and "Mode" options are used to set the Speed and Game Mode to use from the Trigger. The "Options" menu features more settings, such as starting in Mini Mode, Dual Mode, or Rotated Gameplay.
The "Reset Camera" option resets all prior camera settings.
"Target Order" and "Target Channel" refer to the "Order" and "Channel" options found in the Edit Group menu. They are used to activate Gameplay Objects and Triggers in a specific order.
You can temporarily disable a Start Pos by enabling the "Disable" option.
Color
Color Triggers are used to change the settings of a Color Channel. It works the same way as the normal color selection, which was covered in the Select Color section.
The "Color ID" field refers to what Color Channel you want to edit. You can click the "+" button for more options, such as the Background Color.
If you wish to change a Color Channel to the player's colors, you can use "Player Color 1" or "Player Color 2".
The "Blending" option applies blending to the color, which makes it multiply with the colors below it.
      62

 By enabling the "Copy Color" option, you can copy the color of a different Color Channel. The Color Channel you wish to copy is input in the "Channel ID" field. You can change attributes of the color you copy by using the "Hue", "Saturation", and "Brightness" sliders.
You can use the "Copy" and "Paste" buttons to copy the color from one Color Trigger to another. By clicking the "Default" button, it will automatically show the color the corresponding Color Channel has in the Select Color screen.
Move
This Trigger is used to move a specific Group ID. Its interface is seen below. After that, each option is described.
   63

 ● Target Group ID: The Group ID you want to move.
● Move X: Moves blocks along the X-axis. One block is equal to a value of 10.
Input a positive number to move to the right, and a negative one to move
to the left.
● Move Y: Moves blocks along the Y-axis. One block is equal to a value of 10.
Input a positive number to move up, and a negative one to move down.
● Move Time: The duration you want the movement to last.
● Easing: Easing options change the way the objects start and end their
movement.
● Player: You can select a "Player" option for both the X-axis and Y-axis.
When this option is selected, the objects will follow the player's movement
in the given direction.
● Camera: The "Camera" option can also be selected for both the X-axis and
Y-axis. It functions similarly to the "Player" option, but follows the screen movement instead of the player movement.
● Target Mode: Moves the objects to a "Target Group ID". This must be a single object. "Center Group ID" declares the center of the objects you want to move. This must also consist of a single object only. Selecting "P1" or "P2" declares Player 1 or 2, in Dual Mode, respectively as "Target Group" and moves the objects to that player's location instead.
  64

 ● Direction Mode: Moves the objects in the direction of a "Target Group ID". This must be a single object. "Center Group ID" declares the center of the objects you want to move. This must also be a single object. Selecting "P1" or "P2" declares Player 1 or 2, in Dual Mode, respectively as "Target Group" and moves the objects to that player's location instead. "Distance" indicates how far in the direction the objects move. As before, one block is equal to a value of 10.
● Small Step: Enabling this option changes the value for one block from 10 to 30. This improves accuracy and allows for more precise movements.
● Dynamic Mode: This option checks if the "Target Group ID" moves when in "Target Mode" or "Direction Mode". Normally the Trigger will only check upon activation where the target is and move towards that direction. With "Dynamic Mode" enabled, it will update its direction based on the target moving.
● Silent: In Platformer mode, the player sticks to solid blocks that move instantly. With this option enabled, blocks move instantly without the player following their movement.
   65

 Stop
This Trigger shows as a Stop, Pause or Resume Trigger depending on what option you choose inside "Edit Object".
"Stop" is used to stop the action of other Triggers permanently. Give the Triggers you want to stop a Group ID and enter that Group ID in the Stop Trigger.
"Pause" pauses the action of other Triggers temporarily. Give the Triggers you want to pause a Group ID and enter that Group ID in the Stop Trigger. The difference to a Stop Trigger is that you can resume the Trigger later by using a Resume Trigger.
"Resume" resumes the action of other Triggers. Give the Triggers you want to resume a Group ID and enter that Group ID in the Stop Trigger. Only Triggers that were paused with a Pause Trigger can be resumed.
"Use Control ID" allows you to only stop a specific Group ID when using remapping. For example, if you remap a Spawn Trigger to use Group IDs 1, 2, and 3, and you only want to stop Group ID 3, you can enter a "Control ID" and enable the option in the Stop Trigger. You can find the "Control ID" option in the "Extra 2" category after clicking "Edit Group".
 66

 Pulse
This Trigger is normally used to change the color of a Color Channel or Group ID temporarily. The interface and various options are as follows:
● Channel: With "Channel", you pulse an entire Color Channel. Clicking the "+" button allows you to select a special color. This includes for example the Background, Ground, Middleground, and Player Colors.
● Group: With "Group", you pulse objects with that Group ID.
● Main Only and Secondary Only: These options are only available when
clicking "Group". Some objects have a Base Color and Detail Color, which
can be seen in the "Edit Object" menu.
● Color: With "Color", the objects pulse the color you select.
● HSV: With "HSV", you can pulse the objects using another "Color ID" and
change the "Hue", "Saturation" and "Brightness" of that "Color ID". If you leave this value at 0, you pulse the color you put into the "Channel ID" field
  67

 ● Fade In: The duration for the objects to reach the pulse color.
● Hold: How long the objects hold the pulse color.
● Fade Out: The duration for the objects to return to their original color.
● Exclusive: This option disables all other pulses with the same ID, and only
plays the current pulse.
Alpha
This Trigger is used to change the opacity of an object over a given time frame. The options are as follows:
● Group ID: The objects you want to change the opacity of.
● Fade Time: The duration until the objects reach the set opacity.
● Opacity: The opacity you want the objects to have.
Toggle
The Toggle Trigger enables or disables objects. Objects that are disabled are invisible, and the player cannot interact with them anymore.
● Group ID: The objects you want to disable or enable.
● Activate Group: With this option enabled the objects will be enabled. With
the option disabled, objects will be disabled.
Spawn
Spawn Triggers can activate other Triggers.
● Group ID: The Triggers you want to spawn.
● Delay: The delay before you spawn the Trigger.
● Preview Disabled: Disables the Spawn Trigger when in "Preview Mode".
The Trigger will still activate when you playtest in the editor. 68

 ● Spawn Ordered: All Triggers within this Group ID will be activated from left to right, with the distance between the Triggers indicating the delay between them.
● Reset Remap: Resets the remapping of Group IDs.
You can use the second page of the Trigger's interface to remap Spawn Trigger setups. This is useful to save Group IDs.
    69

 Due to this being complex, we will use an example. In figure 7.8, we are moving a block left and right by using a Spawn Loop. Now we want to add another block that also moves left and right. Normally we would need to copy all the Triggers and change their values. With remapping, we can copy the Spawn Trigger on the left, and remap the Group ID of the old setup to the new block. This is seen in figure 7.9.
Now Group ID 4 will behave the same as Group ID 1. You can spawn Group ID 4 at a later time to offset the two block movements. This particular remapping saves 3 Group IDs.
    70

 Rotate
This Trigger is used to rotate a specific Group ID. Its interface is seen below. After that, each option is described.
● Target Group ID: The objects you want to rotate.
● Center Group ID: The center the objects should rotate around. This Group
ID can only consist of a single object. Leaving this as 0 will result in all
objects rotating around their own center.
● Move Time: The duration you want the rotation to last.
● Degrees: How many degrees you want the objects to rotate. Enter a
negative value to rotate counter-clockwise and enter a positive value to
rotate clockwise.
● x360: How many full rotations (360 degrees) you want to do. Enter a
negative value to rotate counter-clockwise and enter a positive value to rotate clockwise.
  71

   ● Aim Mode: The objects will face towards the "Rot Target ID". This must be a Group ID with a single object. You can offset the rotation with "Rot Offset". Choosing "P1" or "P2" will make the objects face towards Player 1 and Player 2 respectively. If this is enabled, you can limit the rotation to be between objects set on the second page of the Trigger.
● Follow Mode: The objects will follow the rotation of "Rot Target ID". This must be a Group ID with a single object. You can offset the rotation with "Rot Offset". Choosing "P1" or "P2" will make the objects face towards Player 1 and Player 2 respectively. The second page of the overall Trigger lets you set Group IDs of single objects as boundaries for following. This means that the rotation will not continue to follow the target if it reaches these positions.
    72

 ● Dynamic Mode: This option checks if the target moves when in "Aim Mode" or "Follow Mode". Normally the Trigger will only check upon activation where the target is and face towards that direction. Moving the Target Group ID does not update the direction. With "Dynamic Mode" enabled, it will update its direction based on the target moving.
● Lock Obj Rotation: The objects themselves will not rotate but instead only update their position.
Scale
This Trigger is used to scale a specific Group ID. Its interface is seen below. After that, each option is described.
● Target Group ID: The objects you want to scale.
● Center Group ID: The center the objects should scale from. This Group ID
can only consist of a single object. Leaving this as 0 will result in all objects
scaling from their own center.
● Duration: The duration you want the scaling to last.
● ScaleX/ScaleY: How much you want to scale the objects in the X and Y
direction respectively.
● Div by Value X/Y: Divides the current scale by this number and uses this
as the target value.
If you want to scale an object and have it return to its original size, you can use "ScaleX/ScaleY" like normal on the first Scale Trigger, and simply tick the "Div by Value" boxes when scaling back on another Scale Trigger. For example, if you want to scale a block to 3.00, put "ScaleX" and "ScaleY" to 3.00. If you want it to return to 1.00 now, you would need to put 1/3 into the fields. This is not possible and leads to inaccuracies. By ticking the "Divide by Value" box, you divide the scale by 3.00, which brings you back to 1.00.
73

 ● Only Move: The objects will only move to the place they would be when you scale them. They will not change their size.
● Relative Rotation: When blocks are rotated, they will rotate their X-axis and Y-axis as well. Turning this option on draws a new X-axis and Y-axis and puts it at the correct place. In the example below, the blocks are rotated 45 degrees.
● Relative Scale: This option makes the scale value adjust based on a reference object. Normally, if you scale an object down by 0.95 for example, each scale will be smaller and smaller. With this option enabled, the scale will instead refer to the object in the Center Group ID to decide what the next scale factor should be.
Follow
This Trigger is used to make objects mimic the movement of other objects. All options are explained below.
● Target Group ID: The objects you want to follow another Group ID. 74
  
 ● Follow Group ID: The Group ID that should be followed. This Group ID can only consist of a single object.
● Move Time: How long you want the objects to follow the Group ID.
● X/Y Mod: The values you put here will be multiplied with the movement of
the "Follow Group ID". For example, if the "Follow Group ID" moves 50 blocks to the right, and you put 0.5 in "X Mod", the objects move 25 blocks to the right instead of 50.
Shake
The Shake Trigger applies a temporary shake effect to the screen. Be careful to not overuse this Trigger or input large numbers into the options, as it may result in a bad experience for players. The options are explained below.
● Strength: How intense the shake effect is.
● Interval: The interval between every shake effect. Leaving this value at 0
results in the screen shaking every frame.
● Duration: How long the shake effect is applied to the screen.
Animate
The Animate Trigger is used to give custom animations to Monsters, and it can also be used to activate the animation of Animated Objects.
● Group ID: The Group ID of the objects you want to animate or change the animation of.
● Animation ID: Only used for Monsters. Check the information box in-game to get information about what "Animation ID" refers to what monster.
 75

 Keyframe Animation
This Trigger is used to activate a keyframe animation. You can find all settings below, as well as a detailed example of its usage in the Keyframe System chapter.
● Animation Group ID: Group ID of your Keyframe Triggers. It is enough for the first Keyframe Trigger in your animation to have this Group ID.
● Target ID: The objects you want to follow the animation.
● Parent ID: The Group ID that should be used as the center for scaling and
rotating. By default objects will choose their own center. You can also set
the center of the objects using the "Group Parent ID".
● Time/Position/Rotation/Scale Mod: The values you put here will be multiplied with the movement of the keyframes. For example, if the
keyframes move 50 blocks to the right, rotate 90 degrees, and scale to 4.00, and you put 0.5 for all modifiers, the target objects will only move 25 blocks, rotate 45 degrees, and scale to 2.00.
Follow Player Y
Follow Player Y Triggers are used to make objects follow the Y movement of the player. The movement can be modified by using the different options explained below.
● Target Group ID: The objects you want to follow the player's Y movement.
● Move Time: How long you want the objects to follow the player's Y
movement.
● Speed: Modifies the speed the object has when following the movement
of the player. The value you put here will be multiplied with the player movement. For example, if the player moves 5 blocks per second and you put 0.5, the objects will move 2.5 blocks per second.
  76

 ● Delay: Delay before the objects follow the movement.
● Offset: Offsets the objects. Normally the objects will snap to the exact Y
position. A value of 10 is equal to one block offset above the player. Enter a
negative value to offset below the player.
● Max Speed: The maximum speed the objects can reach when following
the movement. The formula used to calculate the speed is (Max Speed/(Max Speed + 1)). Thus, if you put 5.0 for "Max Speed", for example, the objects will do 5/6 of the movement the player did in the same time.
Advanced Follow
Advanced Follow Triggers are used to make objects move towards a target and make them follow its movement. They are by far one of the most complex Triggers in the game. We highly suggest you follow along on your own example when testing out the options.
  77

 ● Target GID: The Group ID of the objects that should go towards the Group ID set in "Follow GID".
● Follow GID: The Group ID of the object that should be the new target. You can choose from the buttons below for more options.
● Priority: The priority at which the movements will be applied if an object is affected by more than one Advanced Follow Trigger.
● X/Y Only: The objects will only follow the X or Y movement of the Group ID in "Follow GID" respectively.
● P1/P2/C: Corresponds to Player 1, Player 2, and the screen center respectively.
● Rotation Offset: Offsets the rotation of the objects. Enter a negative value to offset the rotation to the left or a positive value to offset the rotation to the right.
● Ignore Disabled: The movement is not applied if the objects are not active. Activating them again starts the movement.
● Rotate Dir: Makes the objects rotate towards the target.
● Rotate Easing: Adds easing to the rotation of the objects.
● Rotate DeadZ: A deadzone for the rotation of the objects.
● Init: This option is used for the second and third mode, and controls how
the values you define in "Startspeed" and "StartDir" are applied. With this
option, the values are used only when the object has no speed values.
● Set: This option is used for the second and third mode, and controls how the values you define in "Startspeed" and "StartDir" are applied. With this
option, any current velocity gets overridden.
● Add: This option is used for the second and third mode, and controls how
the values you define in "Startspeed" and "StartDir" are applied. With this
option, the velocity gets added to the current one.
● Exclusive: Advanced Follow Triggers have a "Priority" value. When multiple
Advanced Follow Triggers for the same object are active, it will process 78

 them in order based on "Priority". If an action is exclusive, it will not process any other actions after it.
On the second page you can choose between 3 different modes by using the three buttons labeled 1, 2, and 3 in the top right. We will be going through all options and what their differences are.
The "+-" sliders on all options indicate variance. For example, if you input a "Delay" of 3 and enter 2 into the "+-" field, the "Delay" will randomly be chosen in a range of 2 below and above. As a result, you get 1 to 5 "Delay".
In the first mode, the objects will simply move towards the target.
● Delay: Delay before the movement starts.
● MaxSpeed: Max speed the objects can reach. Leaving this at 0 results in no
movement at all.
● MaxRange: Range in which the "Follow GID" has to be to the "Target GID"
to start the movement. One block is equal to 30. 79
  
 ● Easing: Adds an easing to the start and end of the movement.
In the second mode, the objects will also move towards the target. However, you have more options to customize the movement depending on how close the objects are to the target.
● Delay: Delay before the movement starts.
● MaxSpeed: Max speed the objects can reach. Leaving this at 0 results in no
movement at all.
● MaxRange: Range in which the "Follow GID" has to be to the "Target GID"
to start the movement. One block is equal to 30.
● StartSpeed: The speed the objects have when they start their movement.
● StartDir: The direction the objects face when they start their movement,
with 0 meaning up, 90 right. and so on.
● Acceleration: The acceleration of the objects.
● Friction: The friction that is applied to the objects.
● NearDist: At what distance the objects are considered near the target. One
block is equal to 30.
  80

 ● NearFriction: The friction of the objects when they get near the target. What counts as near is configured by the "NearDist" value.
● NearAccel: The acceleration of the objects when they get near the target. What counts as near is configured by the "NearDist" value.
The three boxes on the right correspond to their respective options. They apply their setting towards a set reference object. "MaxRange" will be drawn from the objects to the reference object. "StartSpeed" functions like a multiplier in this setting. It will copy the movement speed of the reference object. By inputting a 2 in the slider, you double the speed. "StartDir" makes the objects face towards the reference object.
In the third mode the objects will also move towards the target. However, you can also edit more attributes of the movement.
  81

   ● Delay: Delay before the movement starts.
● MaxSpeed: Max speed the objects can reach. Leaving this at 0 results in no
movement at all.
● MaxRange: Range in which the "Follow GID" has to be to the "Target GID"
to start the movement. One block is equal to 30.
● StartSpeed: The speed the objects have when they start their movement.
● StartDir: The direction the objects face when they start their movement,
with 0 meaning up, 90 right and so on.
● Acceleration: The acceleration of the objects.
● SteerForce: The force that is applied when the objects steer towards the
target.
82

 The three boxes on the right correspond to their respective options. They apply their setting towards a reference object. "MaxRange" will be drawn from the objects to the reference object. Secondly, "StartSpeed" functions like a multiplier in this setting. It will copy the movement speed of the reference object. For example, by inputting "2" in the slider, you double the speed. Lastly, "StartDir" makes the objects face towards the reference object.
● SteerForceLow: The lowest the steer force can get.
● SpeedRangeLow: The speed of the objects when they are not within the
"MaxRange".
● SteerForceHigh: The highest the steer force can get.
● SpeedRangeHigh: The speed of the objects when they are within the
"MaxRange".
● SlowAccel: The acceleration of the objects when in the "SlowDist" distance
from the target object.
● SlowDist: The distance from the target object that is considered slow,
which applies the "SlowAccel" setting. One block is equal to 30.
● BreakForce: The force at which the objects brake when the target
suddenly goes in a different direction.
● BreakAngle: The angle at which the objects will brake.
● BreakSteerForce: The force at which the objects steer while braking.
● BreakSteer SpeedLimit: The max speed at which the objects can steer
while braking.
● Target Dir: The objects move in the direction of target.
The checkboxes next to "SteerForceLow" and "SteerForceHigh" enable low and high speed modes respectively. As a last note for this Trigger, it is worth noting that you can select from two premade settings by clicking the "Pre" button on the first page.
83

 Edit Advanced Follow
This Trigger is used to edit the attributes of an Advanced Follow Trigger. An explanation of all options can be found below.
● Target GID: The Group ID of the objects that should go towards the "Follow GID".
● X Only/Y Only: The objects will only apply the change on the X or Y movement respectively.
● Mod X/Mod Y: Modifies the movement on the X-axis and Y-axis respectively.
● Speed: Modifies the speed of the objects.
● Dir: Modifies the direction at which the movement is applied.
● Target Control ID: Control ID allows you to only target a specific Group ID
when using remapping. For example, if you remap a Spawn Trigger to use Group ID 1, 2, and 3, and you only want to target Group ID 3, you can enter a Control ID and enable the option in the Trigger. You can find the Control ID option in the "Extra 2" category after clicking "Edit Group" with the Trigger selected.
● Redirect Dir: Redirects the direction towards a reference object, which is input in the box to the right.
The two boxes on the right correspond to their respective options. They apply their setting towards a reference object. "Speed" functions like a multiplier in this setting. It will copy the movement speed of the reference object. By inputting a 2 in the slider, you double the speed. "Dir" will apply the movement towards the direction of the reference object.
 84

 Re-Target Advanced Follow
This Trigger is used to change the target of an Advanced Follow Trigger.
● Target GID: The Group ID of the objects that should go towards the Group ID set in "Follow GID".
● Follow GID: The Group ID of the object that should be the new target. You can choose from the buttons below for more options.
● Target Control ID: Control ID allows you to only target a specific Group ID when using remapping. For example, if you remap a Spawn Trigger to use Group ID 1, 2, and 3, and you only want to target Group ID 3, you can enter a Control ID and enable the option in the Trigger. You can find the Control ID option in the "Extra 2" category after clicking "Edit Group" with the Trigger selected.
● P1/P2/C: Corresponds to Player 1, Player 2, and the screen center respectively.
Keyframe
This Trigger is used to set up keyframes. You can find an explanation of all settings below, as well as an in-depth example in the Keyframe System chapter.
The Keyframe Trigger is one of the most complex Triggers. We suggest following along with your own example when testing the options.
  85

   ● GroupID: The objects you want to reference for your animation. Note that these are not necessarily the objects that will do the animation. Those objects are normally set in the Keyframe Animation Trigger. "GroupID" in this Trigger is mainly used for referencing the art when you enable "Preview Art". However, it is also used as the target if you do not input any override when calling the Keyframe Animation Trigger.
● Duration: The duration until the Keyframe Trigger reaches the next one. This time is always used unless it is a "Ref Only" Keyframe. "Time", "Even" and "Dist" set how the time is used.
● Easing: Applies easing to the start and end of the keyframe.
● x360: If you want to do a full rotation (360 degrees) before reaching the
next keyframe.
● CCW/CW: Whether you want the rotation to be done clockwise or
counter-clockwise. Applies to all rotations, including full ones.
86

 ● SpawnGID: Spawns a Group ID when the target objects reach the keyframe.
● SpawnDelay: Delay before "SpawnGID" is spawned.
● Prox: "SpawnGID" is spawned when the target objects are close to the
keyframe.
● Curve: Keyframes use Bézier curve to get to the next keyframe.
● Time: With this option enabled, "Duration" is used to reach the next
keyframe.
● Even: The time between the keyframes is distributed evenly between all
the "Ref Only" keyframes in between.
● Dist: The duration before reaching the next keyframe is distributed
between all "Ref Only" keyframes based on their distance from each other.
Let us look at an example to better understand how the different options work.
  87

 The red Keyframe Triggers are marked as "Ref Only", while the green and blue ones are not. The green keyframe controls the animation until the blue one, and the blue one controls it until the end. If you set easing on the green keyframe, that easing will be used to reach the blue keyframe. All red easing values are ignored since they are reference points only.
The numbers in the figure are example durations set on the Triggers. If you select "Time" on the green Keyframe Trigger, it will take 10 seconds to reach the next red keyframe. Afterwards, the red keyframe's duration will be used to reach the next one, so 5 seconds, and then 7 seconds from the next until you reach the blue keyframe. As a result, it takes 22 seconds in total to reach the blue one.
If you instead select "Even" on the green keyframe, it will ignore all the duration values of the red (reference) keyframes, and evenly spread out the 10 seconds between each keyframes. As a result, it will take 10 seconds in total to reach the blue one.
● Close Loop: The objects return back to the first keyframe after completing the last one.
● Preview Art: Used to preview the art you want to animate. By default, you only see the arrow icon. For this option to work, you have to put a Group ID and also declare a Group Parent ID. With this option enabled, the objects will spawn at the arrow position, with the Group Parent ID functioning like the arrow icon.
88

   ● Ref Only: Reference objects. Objects marked as reference have a lower opacity and are not considered for the "Even" and "Dist" options. Check the corresponding options to see how their movement is handled.
● Auto Layer: Automatically layers the keyframes, so that the new one is the highest. Most useful when using "Preview Art".
● Select All: Selects all keyframes.
● Update Art: Updates the art for the "Preview Art" option. Changes done to
the reference Group ID are not updated instantly, so you need to press this
if you change your design.
● Dup Anim: Duplicates the keyframes. You cannot copy and paste them
like normal, since the copy would be considered connected in that case.
● Reverse Order: Reverses the keyframe settings. For example, instead of
scaling by 2 and moving 5 blocks to the right, it will scale by 0.5 and move 5 blocks to the left.
89

 Area Move/Rotate/Scale/Fade/Tint
Area Triggers are used to apply different effects to an area of objects. Due to many Area Triggers having the same settings, we will be explaining their general options first and provide specific ones below. Note that Area Triggers are on the more complicated side. Follow along with your own example.
Area Triggers work by taking the center you provide, drawing a circle around the center (or a specific direction depending on what you pick below the "Deadzone" option). This is done using the length you provide and calculating the steps in between. For example, if you have "From Opacity" at 1.00 and "To Opacity" at 0.50, the center will be shown as 1.00 opacity, and the borders will be at 0.50 opacity. All other steps in between will be calculated gradually. For example, right in the middle ("Length"/2), the opacity will be (1.00 + 0.50)/2 = 0.75.
● Length: Length in which objects will be affected..
● Offset: Offsets the center position in the X direction. The "+/-" is how off it
can go. For example, "Offset" at 40 with "+/-" at 10 would offset the center
between 3 and 5 blocks.
● Offset Y: Offsets the center position in the Y direction. The "+/-" is how off it
can go. For example, "Offset" at 40 with "+/-" at 10 would offset the center
between 3 and 5 blocks.
● Deadzone: Divides the length by the value you set here and changes the
transition between center and edge accordingly. For example, having a length of 40 and setting a "Deadzone" of 0.5 would do 0 to 100% between 0 and 20, and stay 100% from 20-40.
90

   ● ModFront/ModBack: Modify the front and back of your center position. The value you put here is multiplied with your center.
● Ignore Linked: Objects linked together will be seen as one object by default. Enabling this object disables this and makes the objects behave as if they are not linked. Note that you have to set an object as Group Parent or Area Trigger for this to work.
● Ignore GParent: If you set a Group Parent ID it will be seen as the center of your objects, and all objects will behave exactly like that one. The action also only starts when you are within this object's range. Enabling this option disables the Group Parent ID and makes all blocks behave as if they do not have a Group Parent ID.
● DE AP: Stands for "Don't Edit AreaParent". The object that is set as Group Parent ID will not perform any of the area actions.
● Easing: The easing the objects have when they start their action.
91

 ● Ease Out: Allows modifying the easing the objects have when they end their action.
● Priority: If several Area Triggers of the same kind are active at once, the one with the higher priority will perform its action.
● Effect ID: Specific ID that can be referenced later, for example in Edit Area Triggers.
● P1: Player 1.
● P2: Player 2.
● C: Center of the screen.
● BL: Bottom left of the screen.
● CL: Left of the screen from the center.
● TL: Top left of the screen.
    92

 ● BC: Bottom of the screen from the center.
● TC: Top of the screen from the center.
● BR: Bottom right of the screen.
● CR: Right of the screen from the center.
● TR: Top right of the screen.
  The buttons below the "Deadzone" option indicate what direction the length will be drawn. Here’s a table of all the variations and what their range looks like.
93

 Table 7.1: Direction settings.
                94

                 95

                 96

         For Area Move, we have these unique settings:
● MoveDist: Distance the objects move.
● MoveAngle: Angle in which objects move. 0 is up, 90 right, 180 down, 270
left, and so on.
● Relative: Moves away in angle depending on where the center is. If the
center is above the object, it will move down. If it is to the right, it will move
left, and so on.
● RFade: Fade when using "Relative". Basically distance ratio between
objects. 0 means a big gap, and the higher the number the smaller the
gap ratio.
● XY Mode: You can enter X and Y values like in the normal Move Trigger
instead of choosing a direction.
 97

 For Area Rotate, we have these unique settings:
● Rotation: The degrees you want the objects to rotate. Enter a positive value to rotate clockwise, and a negative value to rotate counter-clockwise.
For Area Scale, we have these unique settings:
● ScaleX/ScaleY: The size the objects scale in the X-axis and Y-axis respectively.
For Area Fade, we have these unique settings:
● From Opacity: The opacity the objects closest to the center have.
● To Opacity: The opacity the objects furthest from the center have. For Area Tint, we have these unique settings:
● Color Channel: The color you want to tint the objects in.
● %: The percentage you want to tint the color. For example, if you want to
tint a black object white and set "%" to 0.5, the object will turn gray.
● Main Only and Secondary Only: Some objects have a Base Color and
Detail Color, which is seen in the "Edit Object" menu. These options only
change the these colors respectively.
● HSV: Instead of tinting the color of a different Color Channel, you can
simply tint the same Color Channel and change the "HSV" values of it.
98

 Edit Area Move/Rotate/Scale/Fade/Tint
Edit Area Triggers change the values of Area Triggers. Due to all options being the same, you can check the section above to find detailed information about all settings. Edit Area Triggers have the option to use Effect IDs to reference Area Triggers. The Effect ID can be configured within the Area Triggers.
Area Stop
Area Stop Triggers stops Area Triggers. Area Stop Triggers can only reference the Effect ID, which is configured in the Area Triggers.
Change BG/G/MG
These Triggers change the Background, Ground or Middleground respectively. Pick a Background, Ground, or Middleground from the menu to switch to the respective one from this Trigger's activation.
Touch
Touch Triggers are used to enable or disable a Group ID upon player touch. Touch Triggers also function as Spawn Triggers, meaning that they can spawn other Triggers. By default, the Touch Triggers switch between disabling and enabling an object on player touch. It is worth noting, that moving left and right also count as a player touch in Platformer, despite the player not jumping.
● Group ID: The Group ID you want to enable, disable, or spawn.
● Hold Mode: Changes to enable the Group ID while the player holds, and disabling when the player releases. By default the Touch Triggers switch
between disabling and enabling an object on player touch.
● Dual Mode: This is an obsolete option from 2.1, which disables counting
inputs from player 2. Avoid using this option and use "P1/P2 Only" instead. 99
 
 ● P1/P2 Only: Only counts touches from one player instead of both.
● Toggle On/Off: Toggles a Group ID on or off when the player touches. For
example, if you enable "Hold Mode" and "Toggle Off", holding will disable the object and releasing will enable it. If you want to spawn a Group ID on player touch, you should enable the "Toggle On" option.
Count
Count Triggers are used to enable, disable, or spawn a Group ID when an Item ID reaches a specific number. Count IDs can be activated at any time when that number is reached, as opposed to Instant Count Triggers which only check if the condition is met when the Trigger is hit.
● Item ID: The Item ID you want to check the value for. Place the "0" object and click "Edit Special" to configure a unique Item ID.
● Target Count: The number the Item ID needs to have to activate the Group ID.
● Target ID: The Group ID which should be enabled, disabled, or spawned when the Item ID reaches the "Target Count".
● Activate Group: Enable this option to enable a Group ID, or to spawn a Group ID. By default, the Group ID will be disabled when the count is reached. Reaching the count again does not reactivate the Group ID, and Triggers are only spawned if this option is enabled.
● Multi Activate: Allows the Group ID to be enabled, disabled, or spawned again when the "Target Count" is reached several times. By default, the action will only be performed once.
 100

 Instant Count
Instant Count Triggers are used to are used to enable, disable, or spawn a Group ID if an Item ID is equal, smaller, or larger than a specific number. Instant Count Triggers only check if the condition is met when they are hit and never again afterwards, as opposed to Count Triggers which check for their condition constantly.
● Item ID: The Item ID you want to check the value for. Place the "0" object and click "Edit Special" to configure a unique Item ID.
● Target Count: The number the Item ID needs to have to activate the Group ID.
● Target ID: The Group ID which should be enabled, disabled, or spawned when the Item ID reaches the "Target Count".
● Activate Group: Enable this option to enable a Group ID, or to spawn a Group ID. By default, the Group ID will be disabled when the count is reached. Reaching the count again does not reactivate the Group ID, and Triggers are only spawned if this option is enabled.
● Equals/Larger/Smaller: This option will trigger "Target ID" if the Item ID is equal, larger, or smaller respectively when the Trigger is reached.
Pickup
Pickup Triggers can be used to change the values of Item IDs.
● Item ID: The Item ID you want to check the value for. Place the "0" object and click "Edit Special" to configure a unique Item ID.
● Count: The number you want to increase the current Item ID value by. By default, this will use addition. Check the options below for different arithmetics.
 101

 ● Override: The Item ID value will override the current value with the new one instead of using addition.
● Multiply: Multiplies the previous value with your set modifier.
● Divide: Divides the previous value with your set modifier. Note that the
Item ID will drop all numbers after the decimal point. For example, dividing a value of 5 by 2 will result in 2 instead of 2.5, since the 0.5 is dropped.
Time
Time Triggers function as an in-game Timer. In-game Timers use Item IDs to work.
● StartTime/StopTime: The time you want the Timer to start and stop at respectively. Note that you have to enable the checkbox to the right of "StopTime" for the time to actually stop. If"StopTime" is lower than "StartTime", "StopTime" will be ignored.
● ItemID: The Item ID you want to use as a Timer. Place the "0" object and click "Edit Special" to configure a unique Item ID. Note that you have to set the Item ID to "Time Counter" in the "Edit Special" page of the Item ID for this Trigger to work.
● TargetID: The Group ID you want to spawn when "StopTime" is hit. Note that you actually have to stop the time at the "StopTime" to enable the Group ID. In other words, you have to enable the checkbox to the right of the "StopTime" option.
● TimeMod: Modifies the Timer. The number you input here will be multiplied with the normal Timer, resulting in the time going quicker if the value is above 1 and slower if it is below 1.
● Ignore TimeWarp: Using a TimeWarp Trigger will also slow down or speed up the Timer. Enabling this option makes the time behave the same.
 102

 ● StartPaused: The Timer will display your "StartTime", but it will not start until activated by a different Time Trigger or a Time Control Trigger.
● Dont Override: Time Triggers with this option enabled will only affect the Timer if it is at 0.00 or has the "StartPaused" option enabled. If the Timer is currently counting, the Triggers will not change the value.
Time Event
Time Event Triggers spawn a Group ID if a specific time is hit in the Timer. Unlike the "TargetID" in the Time Trigger, the Timer does not have to stop at this value to Trigger it.
● ItemID: The Item ID you want to use as a Timer. Place the "0" object and click "Edit Special" to configure a unique Item ID. Note that you have to set the Item ID to "Time Counter" in the "Edit Special" page of the Item ID for this Trigger to work.
● TargetID: The Group ID you want to spawn when "TargetTime" is hit
● TargetTime: The time at which you want to spawn "TargetID".
● Multi Activate: The Triggers can spawn again if the "TargetTime" is hit
several times.
Time Control
Time Control Triggers can start and stop a Timer.
● ItemID: The Item ID you want to use as a Timer. Place the "0" object and click "Edit Special" to configure a unique Item ID. Note that you have to set the Item ID to "Time Counter" in the "Edit Special" page of the Item ID for this Trigger to work.
  103

 Item Edit
This Trigger is used to edit an Item ID using two different Item IDs. You can do many different operations with these two Item IDs. Note that Item Edit Triggers are pretty complicated, so we suggest following along with your own example.
● ItemID1/ItemID2: The Item IDs you want to use to do operations. Note that depending on what option you have selected in the "Edit Special" menu in the Item Trigger, you have to select the respective option from the menu to the right of "ItemID1" and "ItemID2". For example, if "ItemID1" is a normal Item ID, and "ItemID2" is a Timer, you would select the "Item" and "Timer" options respectively. Place the "0" object and click "Edit Special" to configure a unique Item ID.
● Target ItemID: The Item ID you want to edit. Note that depending on what option you have selected in the "Edit Special" menu in the Item Trigger, you have to select the respective option from the menu to the right of "Target ItemID". Place the "0" object and click "Edit Special" to configure a unique Item ID.
  104

 ● Mod: Modifies the value that "ItemID1" and "ItemID2" produce. Leaving this option at 1 will disable the third button, which is "•" in the picture below.
The three buttons in figure 7.26 correspond to how the numbers interact with each other. We will explain what each one does, and then show some examples for better understanding.
● The first button decides how the new values interact with the "Target ItemID". If you set it to "=", the "Target ItemID" will use the new value. If you set it to "+", the value will be added to the current value of the "Target ItemID". Likewise, if you set it to "-", the value will be subtracted from the current value. If you set it to "•" instead, the current value will be multiplied with the value, while setting it to "/", divides the current value.
● The second button decides how "ItemID1" and "ItemID2" interact with each other to calculate the value. If you set it to "+", "ItemID1" will be added to "ItemID2". If you set it to "-", "ItemID2" will be subtracted from "ItemID1". Similarly, if you set it to "•", "ItemID1" and "ItemID2" are multiplied, and with "/", "ItemID1" will be divided by "ItemID2".
● The third button decides how the modifier interacts with the value that "ItemID1" and "ItemID2" create. If you set it to "•", the value will be multiplied with the modifier value. If you set it to "/", the value will be divided by the modifier value.
  105

 To the right of these, there are two empty, optional buttons (figure 7.25), which can be set to "N" or "A" for "neg" and "abs" respectively. In order, these negate or find the absolute value of the number. Absolute value essentially drops a negative sign and only uses positive values.
For our example, "ItemID1" has the value 8, "ItemID2" has the value 5, and "Target ItemID" has the value 2. All values and operations are color coded for convenience. As you can see, we selected "+" in the first box. This means that the value will be added to the current value, indicated by the "I3 +" at the bottom. In the second box, we selected "-", which means "ItemID2" will be subtracted from "ItemID1", as indicated by "(I1 - I2)". Lastly, we set a modifier. We chose "/" in the third box, which means that our value will be divided by our modifier.
  106

 Let us replace the Item IDs with the values we chose to see what the result should be. (Note that this is edited and cannot be achieved in normal Geometry Dash.)
Doing the calculations, we get I3 = 2 + 3/2 = 2 + 1.5, which cannot be represented due to how Geometry Dash rounds by default. Because of this, the .5 is dropped and we are left with 2 + 1. Now our equation is I3 = 2 + 1 = 3, which means the new value of our "Target ItemID" is 3.
Dropping of .5 may not be ideal in all cases. Luckily, we can fix this with the "NA" buttons. The first "NA" button decides how the value you calculate is handled. To use our example, this button decides how decimals are handled for (8 - 5) / 2.000. The second "NA" decides how the new value is handled by the "Target ItemID", so I3 in our example. Here are all the options you can set and how they behave.
● NA: The default way Geometry Dash handles the numbers. Using this mode will drop all decimal points.
● RND: Rounds the number to the closest integer. If we take our example, 3/2 = 1.5 would be rounded to 2, which would mean our answer would be 4 instead of 3.
● FLR: Stands for floor function, which means it will always round down to the next lower integer. For example, 4/5 = 0.8 would be rounded down to 0.
● CEI: Stands for ceiling function, which means it will always round up to the next higher integer. For example 1/10 = 0.1 would be rounded up to 1.
  107

 Item Compare
This Trigger is used to compare two Item IDs and spawn Group IDs depending on whether their condition is true or not. Item Compare Triggers are pretty complicated, so we suggest following along with your own example.
● ItemID1/ItemID2: The Item IDs you want to compare with each other. Note that depending on what option you have selected in the "Edit Special" menu in the Item Trigger, you have to select the respective option from the menu to the right of "ItemID1" and "ItemID2". For example, if "ItemID1" is a normal Item ID, and "ItemID2" is a Timer, you would select the "Item" and "Timer" options respectively. Place the "0" object and click "Edit Special" to configure a unique Item ID.
● Mod1/Mod2: Modifiers for "ItemID1" and "ItemID2" respectively. How the modifier interacts with the values can be changed with the "•" buttons, which is explained below.
● TrueID/FalseID: The IDs that will be spawned if your condition is true or false respectively.
  108

 ● Tol+-: The tolerance. For example, if you set 0.5 here and "ItemID1" is 1, while "ItemID2" is 0.5, this would count as true despite "ItemID1" and "ItemID2" not being equal.
The three buttons to the right decide how the values are compared, and how the modifiers interact with them. The first box decides the operation for "ItemID1" and "Mod1", the second box decides the operation for "ItemID2" and "Mod2", and the third box decides how the two values are compared to each other.
For the first and second box, you can select the following options:
● "+" means that the corresponding modifier will be added to the Item ID value.
● "-" means that the corresponding modifier will be subtracted from the Item ID value.
● "•" means that the corresponding modifier will be multiplied with the Item ID value.
● "/" means that the Item ID value will be divided by the corresponding modifier.
  109

 For the third box, you can select the following options:
● "==" will return true if "ItemID1" is equal to "ItemID2".
● ">" will return true if "ItemID1" is larger than "ItemID2".
● ">=" will return true if "ItemID1" is larger than or equal to "ItemID2".
● "<" will return true if "ItemID1" is smaller than "ItemID2".
● "<=" will return true if "ItemID1" is smaller than or equal to "ItemID2".
The first "NA" decides how the left side of the equation is handled, so "ItemID1" and "Mod1". The second "NA" decides how the right side of the equation is handled, so "ItemID2" and "Mod2". Here are all the options you can set and how they behave.
● NA: The default way Geometry Dash handles the numbers. Using this mode will drop all decimal points.
● RND: Rounds the number to the closest integer. If we take our example, 3/2 = 1.5 would be rounded to 2, which would mean our answer would be 4 instead of 3.
● FLR: Stands for floor function, which means it will always round down to the next lower integer. For example, 4/5 = 0.8 would be rounded down to 0.
● CEI: Stands for ceiling function, which means it will always round up to the next higher integer. For example 1/10 = 0.1 would be rounded up to 1.
110

 Persistent Item
This Trigger marks Item IDs as persistent. Persistent Item IDs do not get reset when you die. However, they are reset when you exit the level.
● Item ID: The Item ID you want to mark as persistent. Note that if your Item ID is a Timer, you have to select the "Timer" option to the right of "Item ID".
● Persistent: Marks the ID as persistent, so the value will not be reset upon death.
● TargetAll: Targets all persistent Item IDs at once.
● Reset: Resets the Item ID to 0.
Random
Randomly triggers one of two Group IDs.
● Group ID 1/Group ID 2: The two Group IDs that can be triggered.
● Chance %: The chance that "Group ID 1" is triggered. For example, if this is set to 80, "Group ID 1" has an 80% chance of being triggered, while "Group
ID 2" has a chance of 100% - 80% = 20%.
Advanced Random
Randomly triggers one of up to 10 Group IDs.
● Group ID: The Group ID you want to have a chance of being triggered.
● Chance: How likely it is for this Group ID to be triggered. The way the odds
are calculated is by multiplying the "Chance" value by 100, and then dividing it by the sum of all "Chance" values so far and the one you are about to add.
111

 For example, if you add Group ID 1 with a "Chance" of 20, and then add Group ID 2 with a "Chance" of 50, the odds will be calculated as follows. "Chance" of Group ID 2, 50, is multiplied by 100, resulting in 5000. Afterwards, it is divided by both the "Chance" of Group ID 1 and 2, so 5000 / 70 ≈ 71%. This is the odds Group ID 2 will have, while Group ID 1 will have odds of (20 * 100) / 70 ≈ 29%. If you were to add Group ID 3 with "Chance" at 60, the odds would change to (20 * 100) / 130 ≈ 15% for Group ID 1, (50 * 100) / 130 ≈ 38% for Group ID 2, and (60 * 100) / 130 ≈ 46% for Group ID 3.
Sequence
The Sequence Trigger is used to spawn a sequence of Triggers. Every time the Trigger is triggered, it will advance one step further in the sequence.
● GroupID/Count: The Group ID you want to spawn, with "Count" being how often you want to spawn it.
● MinInt: Minimum interval that has to pass before you can activate the next step in the sequence.
  112

 ● Reset: If set to 0, this option is ignored. If the Trigger is not triggered for the duration you input here, it will stop the sequence and start from the beginning again the next time you use it.
● Mode Stop: The sequence stops once you reach the end.
● Mode Loop: The sequence starts from the beginning again after you reach
the end.
● Mode Last: The sequence will finish like normal, and after hitting the
Trigger again, only the last Group ID will be triggered every time.
● Reset Full: If the Trigger has not been triggered for the "Reset" time, the
Trigger will return to the first Group ID in the sequence.
● Reset Step: If the Trigger has not been triggered for the "Reset" time, the
sequence will go back to the Group ID before the current one.
For example, let us say you have a sequence of Group IDs 1, 2, 3, and 4, and use "Reset Step" with a "Reset" time of 1 second. You trigger the first 4 sequences. If you do not activate the Trigger for 1 second, it will trigger Group ID 3. If you do not activate the Trigger for 2 seconds, it will trigger Group ID 2.
Spawn Particles
Spawns particles upon activating the Trigger. Note that the particles you want to spawn cannot have an infinite duration, and that the Trigger will spawn the particles once on activation and not loop like normal.
● Particle Group: Group ID of the particles you want to spawn at the "Position Group". It can consist of multiple particles.
● Position Group: Position at which the particles will spawn. This Group ID can only consist of one object.
113

 ● Offset X/Y: Offsets the position the particles are spawned at relatives to "Position Group". A positive value adds an offset right and up respectively, and vice versa. Note that one block is equal to 30.
● OffVar X/Y: Adds a variance for the particle target position. This basically means that the particles will spawn in a random location within these boundaries. Note that one block is equal to 30, and that the value is drawn in both directions.
● Rotation: Changes the rotation of the particles.
● Scale: Changes the scale of the particles.
● Match Rot: Makes the rotation of the spawned particles match. Only
useful when "Particle Group" contains multiple particles without rotation set in their own settings.
Reset
Resets Collectables and the checkpoint object. Objects will appear again when this Trigger is activated and can be collected again.
● Group ID: Group ID of the objects you want to reset. 114
   
 Zoom
Zooms the camera. The center point for the zoom is the camera center.
● Zoom: The value you want to zoom to. If you want to return to the default state, leave this value at 1.000.
● Time: The duration in which the zoom should happen.
● Easing: Easing options change the way the objects start and end their
movement.
Static Camera
Uses a Target Group ID as the center of the screen and locks to that object.
● Target Group ID: The Group ID that should be seen as the camera center. Can only consist of a single object.
● X Only/Y Only: The camera only takes the object's X or Y position as the camera X or Y center respectively.
● Follow: Follows the movement of the object.
● Easing: Adds an easing duration when following an object.
● Smooth Velocity: Reacts to player velocity and tries to move the camera
smoothly to where you want. The path is calculated by using a Bézier
curve.
● Modifier: Shifts the Bézier curve for the "Smooth Velocity" option.
● Exit Static: Exits the static mode and returns to the default camera
location.
● Exit Instant: The camera instantly snaps back to the default camera
location when using "Exit Static".
● Duration: The duration for the camera to reach the object.
115

 Camera Offset
Offsets the camera center.
● Offset X: Moves the camera center along the X-axis. One block is equal to 10. Input a positive number to move to the right, and input a negative one to move to the left.
● Offset Y: Moves the camera center along the Y-axis. One block is equal to 10. Input a positive number to move up, and input a negative one to move down.
● Move Time: The duration for the camera to finish offsetting.
Gameplay Offset
Offsets the player by 2.5 blocks to the right, putting them in the X-axis center of the screen (assuming no other camera modifications have been made). Note that the movement is always 2.5 blocks (or 75 steps) no matter what camera offset or zoom you have.
Camera Rotation
Rotates the camera.
● Move Time: How long it should take to reach the rotation.
● Degrees: Rotation you want to have. Enter a positive value to rotate
clockwise, and enter a negative one to rotate counter-clockwise. Leave this
at 0 to return to the default rotation.
● Easing: Changes the way the objects start and end their movement.
116

 Camera Edge
Sets edges for the camera. If the edge is within the current screen, it will either snap for the object to be at the edge or ignore it until the object is outside the screen, depending on the zoom level. The camera edge will adjust with the movement of the edge objects.
● Target ID: The Group ID you want to set as the edge. It can only consist of a single object.
● Left/Right/Up/Down: Defines what kind of edge it is. Enabling left would set the object as the left edge of the screen, while down would set it at the bottom edge of the screen, and so on.
● Unlock: Press this button to return to the default state. You can also just leave "Target ID" at 0.
Camera Guide
Does not serve any other purpose besides functioning as a guide to see the camera edges of different zooms. Can also be used as the "Target Group" for the Static Camera Trigger to always have a good understanding of what the screen will look like.
● Zoom: The zoom level you want to display. If you want to return to the default state, leave this value at 1.000.
● Offset X: Moves the outlines along the X-axis. One block is equal to 30. Input a positive number to move to the right, and input a negative one to move to the left.
● Offset Y: Moves the outlines along the Y-axis. One block is equal to 10. Input a positive number to move up, and input a negative one to move down.
 117

 Reverse
Reverses the player direction in Classic levels. Does not do anything in Platformer.
Rotate Gameplay
Rotates the gameplay (not the camera) in the direction the arrow points. The line that is below the arrow indicates the gravity.
The Rotate Gameplay Trigger direction determines how the Channel’s Triggers are sorted. For example, if the Rotate Gameplay Trigger points up, Triggers with a smaller Y value are triggered first, and higher ones later. If the Trigger points right, Triggers with a smaller X value are triggered first and higher ones later, and so on. See Channel System for more information.
● Keep Velocity: Keeps the velocity the player has before the gameplay rotation and smoothly transitions it to the new gravity. Results in smoother movement overall.
● Change Channel: Changes the Channel to the number you have entered in the number box at the bottom.
● Channel Only: Only changes the Channel and does not update the gameplay rotation.
● Instant Offset: The camera updates instantly when switching gameplay to the opposite direction.
 118

 Song
Changes the song in the middle of a level.
● Channel: There are 5 Channels on which a song can play. Songs on different Channels will play simultaneously, while only one song can play on the same Channel. Note that Channels used for music are not the same as Color Channels or the ones mentioned for Rotate Gameplay Triggers.
● Start/End: The time (in milliseconds) at which you want the song to start and end.
● Fade In/Fade Out: The time (in milliseconds) at which the song should fade in and out.
● Prep/Load Prep: Setting a song time introduces some delay depending on the seek time. If you need the song to sync precisely, you first have to "Prep" the Trigger, then "Load Prep" later. "Prep" overwrites any previous "Prep", so if you have multiple Song Triggers, you have to alternate between loading them. For example, "Prep" and "Load Prep" for the first, "Prep" and "Load Prep" for the second, and so on.
Edit Song
Edits attributes of a song, such as volume, speed and also allows for proximity options.
● Channel: The Channel you want to edit the song of.
● Duration: How long it should take for the song to change to the new
settings.
● Speed: Changes the speed of the song. Note that you have to enable the
"Change Speed" button for the speed to actually change.
● Volume: Changes the volume of the song. Note that you have to enable
the "Change Volume" button for the speed to actually change. 119
 
 ● Stop/Stop Loop: "Stop" stops the song entirely, while "Stop Loop" stops the looping of the song, so it will stop the next time it reaches the end.
● Group ID 1: Used for proximity. This is the Group ID where the distance should be drawn from.
● Group ID 2: Used for proximity. This is the Group ID the distance will be measured to. For example, if your "MinDist" is 60, the "VolNear" volume will be played when the Group ID is within 6 blocks of Group ID 1. Choosing "P1", "P2", or "Cam" from the buttons below turns Group ID 2 into Player 1, Player 2, or the camera center respectively.
● VolNear/VolMed/VolFar: Volume near, medium, and far away for proximity. "VolNear" means you are within the "MinDist" boundaries from Group ID 1, while "VolMed" refers to "Dist2" and "VolFar" to "Dist3".
  120

 ● MinDist/Dist2/Dist3: Sets the boundaries for "VolNear", "VolMed", and "VolFar" respectively. Above is an example with "MinDist" set to 30 and both "Dist2" and "Dist3" set to 20. "MinDist" refers to the closest length and is drawn in red, while "Dist2" refers to the middle length and is drawn in green. Finally, "Dist3" refers to the furthest length and is drawn in blue. The distances stack with each other. For example, if your "MinDist" is 20 and your "Dist2" is 30, the "Dist2" circle will be drawn 5 blocks from the object in Group ID 1, and not 3 blocks.
The various arrow buttons indicate how proximity is handled. Here are all options and how their sound is drawn. The distance options will be drawn from the Group ID 2 object (in this case Player 1) towards the arrow direction. In these examples, black is equal to the highest volume and gray is equal to the lowest.
Table 7.2: Proximity buttons.
        121

                 122

                 123

 SFX
You can choose a sound effect (SFX) to play from the menu in the top right of the first page.
● Reverb: Reverb is created when a sound occurs in a space, resulting in the SFX changing pitch and echo accordingly. By clicking the "+" button, you can select different spaces for the SFX to occur in.
● FFT: Stands for fast Fourier transform. "FFT" is used to determine the fundamental frequencies and therefore pitches that are present in the raw signal.
● Loop: Loops the SFX until stopped.
● Pre Load: Setting a start time introduces some delay depending on the
seek time. If you need the SFX to sync precisely, you can preload it.
● Start/End: Start and end of the SFX in milliseconds.
● FadeIn/FadeOut: Fades the SFX in and out respectively, with the values
being in milliseconds.
● Unique ID: Assigns a unique ID to SFX within their respective "SFXGroup".
By enabling the "IsUnique" option, you mark the ID as unique, resulting in
no other SFX being able to take that ID if it is in the same "SFXGroup".
● SFXGroup: You can have several SFX and put them into their own
"SFXGroup". This Group ID can later be edited.
● MinInterval: Minimum interval before the SFX can be triggered again.
● Override: If another SFX has the same "Unique ID" and "SFXGroup", this
new SFX will override the old one.
● Ignore Volume Test: SFX played at volume 0 are ignored. Enable this
option to not ignore them. This is mainly used for the proximity options,
where the sound will not play if any distance has a volume of 0.
● Group ID 1: Used for proximity. This is the Group ID where the distance
should be drawn from.
124

 ● Group ID 2: Used for proximity. This is the Group ID the distance will be measured to. For example, if your "MinDist" is 60, the "VolNear" volume will be played when the Group ID is within 6 blocks of Group ID 1. Choosing "P1", "P2", or "Cam" from the buttons below turns Group ID 2 into Player 1, Player 2, or the camera center respectively.
● VolNear/VolMed/VolFar: Volume near, medium, and far away for proximity. "VolNear" means you are within the "MinDist" boundaries from Group ID 1, while "VolMed" refers to "Dist2" and "VolFar" to "Dist3".
● MinDist/Dist2/Dist3: Sets the boundaries for "VolNear", "VolMed", and "VolFar" respectively.
See figure 7.33 and table 7.2 under Edit Song Trigger for more information on proximity.
Edit SFX
Edits attributes of a sound effect (SFX), such as volume, speed and also allows setting up proximity options.
● Group ID: You can give the SFX Triggers you want to edit a Group ID and change them through this field.
● SFXGroup/UniqueID: "SFXGroup" and "UniqueID" can be used to reference the exact SFX you want to edit. You should put the same values you put into the SFX Trigger here.
● Duration: How long it should take for the SFX to change to the new settings.
● Speed: Changes the speed of the SFX. Note that you have to enable the "Change Speed" button for the speed to actually change.
● Volume: Changes the volume of the SFX. Note that you have to enable the "Change Volume" button for the speed to actually change.
 125

 ● Stop/Stop Loop: "Stop" stops the SFX entirely, while "Stop Loop" stops the looping of the SFX, so it will stop the next time it reaches the end.
● Group ID 1: Used for proximity. This is the Group ID where the distance should be drawn from.
● Group ID 2: Used for proximity. This is the Group ID the distance will be measured to. For example, if your "MinDist" is 60, the "VolNear" volume will be played when the Group ID is within 6 blocks of Group ID 1. Choosing "P1", "P2", or "Cam" from the buttons below turns Group ID 2 into Player 1, Player 2, or the camera center respectively.
● VolNear/VolMed/VolFar: Volume near, medium, and far away for proximity. "VolNear" means you are within the "MinDist" boundaries from Group ID 1, while "VolMed" refers to "Dist2" and "VolFar" to "Dist3".
● MinDist/Dist2/Dist3: Sets the boundaries for "VolNear", "VolMed", and "VolFar" respectively.
See figure 7.33 and table 7.2 under Edit Song Trigger for more information on proximity.
Event
Spawns a Group ID upon a player action. The action can be selected from the top right menu.
● Group ID: The Group ID that is spawned when the player does the action.
● Extra ID/Extra ID2: You can input a Material ID here for the action to only
apply if you are on that Material ID. For example, if you choose "Normal Landing" and enter a Material ID used for a specific a block, you will only activate the Group ID if you land on that block.
 126

 TimeWarp
Speeds up or slows down time. This affects everything, including player movement, durations in Triggers, Timers, and so on..
● TimeMod: Modifier for the time. The value you input here will be multiplied with the normal time, so less than 1 will slow the time down and above 1 will speed time up.
Camera Mode
Allows switching between Free Mode and Normal Mode for camera. In Free Mode, the borders for Ship, Ball, UFO, Wave, Spider, and Swing are removed.
● Edit Camera Settings: Allows you to edit how the camera follows the player in Free Mode. "Easing" changes how the camera starts and ends its movement, while "Padding" modifies how close the player has to be to the top or bottom of the screen for the camera to start following.
● Disable GridSnap: Normally the camera center will snap to the closest grid space. With this option enabled, the snapping will not happen.
Setup MG
Moves the Middleground.
● Offset Y: Moves the Middleground up or down. Input a positive value to move it up, and enter a negative value to move it down.
● Easing: Easing options change the way the Middleground starts and ends its movement.
● Move Time: Duration until the Middleground finishes its movement.
127

 BG/MG Speed
Modifies the speed at which the Background and Middleground follow the player.
● Mod X/Mod Y: Modifies the X-axis speed and Y-axis speed respectively. The value you input here will be multiplied with the default speed, with 0 stopping the movement entirely.
Counter Label
Displays Item IDs, Timers, or Points.
● ItemID: The Item ID that should be displayed. The value of Item IDs can be changed with Pickup Triggers, Time Triggers or Collectables depending on what option you choose.
● Time Counter: Functions as a Timer. You need a Time Trigger to use this Timer.
● Seconds Only: The Timer only displays the seconds.
● MainTime: Also functions as a Timer that displays the exact game time.
● Points: Points can be configured in the "Edit Special" page of Collectables.
● Attempts: Displays the current attempt the player is on.
● Left Align/Right Align: Aligns the ID to the left or right border respectively.
The width will change depending on what value it has (for example 8 is wider than 1). By default, the width will be extended the same to the left and right. Choosing "Left Align", the width will expand only to the right, while choosing "Right Align" will expand only to the left.
     128

 UI Settings
Marks objects as user interface and puts them on a UI layer which is in front of everything else, including the Ground. The UI layer is permanent and cannot be edited.
● Group ID: The objects that get marked as UI.
● UI Target: This Group ID is marked as the camera center reference and can
only consist of one object.
● XRef/YRef: The reference points for aligning the object.
● Auto/Center/Left/Right/Top/Bottom: "Auto" aligns objects based on the
camera edges of the "UI Target" object. "Center" uses the center of the object as the camera center. "Left" uses the object as the left edge of the camera, while "Right" uses the object as the right edge of the camera. Similarly, "Top" uses the object as the top edge of the camera, while "Bottom" uses the object as the bottom edge of the camera.
● Relative: The position of the UI will scale with the screen aspect ratio.
  129

 Visibility Link
This makes every object in a Group ID visible, as long as any of its objects are on screen. It is useful for larger collection of blocks that go offscreen often. Note that it cannot be toggled throughout the level.
● Group ID: The objects you want to be fully visible. This is processed at level load.
Collision
Spawns a Group ID when two Collision Blocks collide. One of the two blocks must have the "Dynamic Block" activated.
● BlockA ID/BlockB ID: Groups of Block 1 and Block 2, one of which has to have the "Dynamic Block" option enabled.
● Target ID: The Group ID that gets spawned when the blocks collide.
● P1/P2/PP: Enabling "P1" or "P2" allows triggering upon Player 1 or 2
colliding with "BlockB ID" respectively. Enabling both options allows for triggering when either player collides with it. "PP" triggers the Group ID when both players collide with each other in Dual Mode.
● Activate Group: Activates the Group ID. By default, the Group ID will be toggled off. Enable this option if you want to spawn a Group ID or toggle an object on.
● Trigger On Exit: The Group ID will be triggered when the blocks do not collide anymore.
 130

 Instant Collision
Instant Collision Triggers function similarly to Collision Triggers, however it is only checked on Trigger activation if the condition is true or false. Normal Collision Triggers check if the condition is true all the time.
● BlockA ID/BlockB ID: Groups of Block 1 and Block 2, one of which has to have the "Dynamic Block" option enabled.
● True ID/False ID: The Group ID that gets spawned if "BlockA ID" and "BlockB ID" collide or do not collide respectively in the moment the Trigger is activated.
● P1/P2/PP: Enabling "P1" or "P2" allows triggering upon Player 1 or 2 colliding with "BlockB ID" respectively. Enabling both options allows for triggering when either player collides with it. "PP" triggers the Group ID when both players collide with each other in Dual Mode.
Collision State
Spawns a Group ID when the player enters and exits the block hitbox. Functions as a quicker alternative to Collision Blocks.
● State On/State Off: The Group ID that is spawned if the player is colliding with the Collision State hitbox or not colliding respectively.
Collision Block
The blocks used for (Instant) Collision Triggers. If you want two blocks to collide, you will have to mark one of them as "Dynamic".
 131

 Player Touch
Toggles or spawns a Group ID if the player clicks while within the block hitbox.
● Group ID: The Group ID that gets spawned or toggled when the Trigger gets activated.
● Activate Group: Activates the Group ID. By default, the Group ID will be toggled off. Enable this option if you want to spawn a Group ID or toggle an object on.
● Claim Touch: The player will not jump and no rings will spawn. The click can not be buffered.
● Spawn Only: Clicking only spawns the Group ID and does not toggle it on or off.
● NO Multi Activate: By default, the Group ID will be toggled or spawned every time you click within the hitbox. With this option enabled, you can only toggle or spawn it once.
On Death
Toggles or spawns a Group ID when the player dies.
● Group ID: The Group ID that gets spawned or toggled when the player dies.
● Activate Group: Activates the Group ID. By default, the Group ID will be toggled off. Enable this option if you want to spawn a Group ID or toggle an object on.
132

 Disable/Enable Trail
Disables and enables the player trail respectively.
Show/Hide
Shows and hides the player respectively. Hiding the player makes it invisible, but note that you can still see the trail if enabled.
BG Effect On/Off
Enables and disables the background particles in Ship, Ball, UFO, Wave.
      133

 End
Marks an object as the end of the level. The player gets pulled towards it. This Trigger can be used in both Classic and Platformer levels.
● TargetPos: The Group ID of the object that should be considered as the position for the end. The Group ID can only consist of one object.
● SpawnID: A Group ID that gets spawned when the player reaches the end. This is optional.
● Instant: The player will teleport to the end as soon as the object is on screen instead of slowly jumping towards it.
● No Effects: Disables the effects that play when you reach the end, such as the effect lines.
● No SFX: Disables the SFX that plays when you reach the end. Player Control
Controls behavior of the player.
● P1/P2: What player you want to control. Both options enabled or disabled results in both players being affected.
● Stop Jump: Stops the player jumping.
● Stop Move: Stops the player movement.
● Stop Rot: Stops the player rotation.
● Stop Slide: Stops the low friction state you are in after being launched by a
force block. It does not stop the sliding from slopes or ice blocks.
134

 Options
Several options to change attributes of the level.
● Streak Additive: Changes the trail and particles to be blending.
● Unlink Dual Gravity: Unlinks the gravity of the icons in Dual Mode. By default, if one icon switches gravity, the other icon will switch gravity as well.
● Hide Ground/Hide MG: Makes the Ground and Middleground respectively invisible.
● Hide P1/Hide P2: Hides Player 1 or Player 2 respectively. Functions the same like the Hide Trigger.
● Disable P1 Controls/Disable P2 Controls: Disables all input for Player 1 or Player 2 respectively.
● Hide Attempts: Hides the Attempts counter.
BPM Guide
Draws lines in the editor at beats per minute you configure. Helps to make parts sync based on the BPM the song uses.
● BPM: Stands for beats per minute. Lines will be drawn based on this number. For example, if you have 60 BPM, a line will be drawn every second.
    135

 ● BPB: Stands for beats per bar. One bar is the space between two BPM lines. The number you input here will split each space into the corresponding sections. For example, if you have a BPM of 60 and a BPB of 2, a line will be drawn every 0.5 seconds.
● Duration: How long you want the lines to be drawn.
● Speed: Changes the distance between the lines to account for the
different speeds.
● Disable: Hides the lines.
Gradient
Creates a gradient between two colors. You can change the way the gradient looks by rotating the Gradient Trigger.
● Vertex Mode: Draws the gradient between 3 or 4 points which get connected. By default, the gradient can only be a square with defined top, bottom, left, and right boundaries. Using "Vertex Mode" allows the gradient to have more interesting shapes.
● U/D/L/R: Used to draw the gradient if "Vertex Mode" is disabled. The variables refer to the Group IDs of target objects set as up, down, left, and right respectively. These variables work as boundaries for the gradient, so you do not have to set all.
● BL/BR/TL/TR: Used for the "Vertex Mode" boundaries. The variables refer to the Group IDs of target objects set as bottom left, bottom right, top left, and top right respectively. Note that putting 3 of those variables is enough to draw the gradient in "Vertex Mode".
● Blending: How the gradient behaves with colors beneath it.
● ID: Can be used to reference gradients. For example if you want to disable
a gradient later on.
136

 ● Disable All: Disables all gradients. You can disable only a single gradient by using its "ID" and choosing the "Disable" option.
● Preview Opacity: The opacity the gradient has in the editor preview. Gravity
Changes the gravity force.
● Gravity: Modifies the gravity. A value below 1 makes the player lighter, while a value above 1 makes the player heavier.
● P1/P2/PT: The gravity only affects Player 1 or Player 2 respectively. "PT" only affects the player that touches the Trigger.
Teleport
Teleports the player to a set location.
● Target GroupID: The Group ID the player teleports to. The Group ID can only consist of one object.
● Gravity: The gravity the player should have after finishing the teleportation. 137
  
 ● Normal: Normal gravity after teleporting.
● Flipped: Flipped gravity after teleporting.
● Toggle: The gravity flips to the opposite, depending on what gravity you
are when teleporting. You flip from normal to flipped and from flipped to
normal.
● Smooth Ease: The camera follows smoothly to the new position of the
player.
● Save Offset: The offset the player has to the Trigger center when
activating it is saved and applied to the target object, resulting in a slightly
offset teleport.
● Ignore X/Ignore Y: Does not teleport on the X-axis or Y-axis respectively.
● Instant Camera: The camera instantly snaps to the new position.
● Snap Ground: The Ground snaps to the new position.
● Redirect Dash: Rotates Dash Orb effect to match teleport exit rotation.
Only for Platformer levels.
● Static Force: You exit the rotation based on the rotation of the target, with
a force applied.
● Force: The force the player should have when exiting the teleport. The
force is applied in the direction of the target object rotation.
● Redirect Force: The force the player should have when exiting the
teleport. The force is applied in the direction of the target object rotation
and an input force.
● Min/Max: Limits the exit force. If you leave this value at 0, no limit will be
set.
● Mod: Modifies the input force value. The speed you have will be this value
multiplied with the speed you have when teleporting.
138

 Shader
Shader Triggers edit how the other Shader Triggers work. You can disable shader effects and limit the layers they affect.
● Disable All: Disables all other shaders.
● No Player Particles: When using a shader which only affects the player
layer, the particles might look weird due to different rendering. This option disables the shader from the particles.
With the buttons at the bottom, you can choose the layers affected by the shaders. The blue buttons are the highest and lowest layer that will be affected. The green buttons are the ones in between which will be affected, and the gray ones will not be affected.
ShockWave
Creates a shockwave effect.
● Speed: The speed at which the shockwave will happen. 139
  
 ● Strength: How strong the shockwave is. The lower the value, the less distorted objects get.
● Thickness: The "thickness" of each wave. The higher the value, the thicker the wave will be.
● WaveW: Wave width. The higher the value, the less distorted it is.
● FadeIn/FadeOut: Fades the shockwave in and out. The higher the value,
the longer it takes to fade in or out respectively.
● TimeOff: Time offset before the shockwave starts, with the value being in
seconds.
● MaxSize: Modifies the max size of the wave. Leaving it at 0 will put it at the
max value. The value you put here will be multiplied with the wave size.
● Invert: Inverts the shockwave effect to go from outside to inside instead of
inside to outside.
● Inner: Size of the waves in the middle of the shockwave. Option only
available with "Invert" enabled.
● Outer: Size of the waves at the outside of the shockwave. Higher values
means it will take longer to reach the center. Option only available with "Invert" enabled.
  140

 ● Target: Chooses a Group ID as the center of the shockwave. The Group ID can only consist of one object.
● P1/P2: Makes Player 1 or Player 2, respectively, the center of the shockwave. Option only available with "Target" enabled.
● Follow: Follows "Target". By default, it will only check the position of the target when the Trigger is activated and spawn the shockwave there. With this option enabled, the center will follow the target. Option only available with "Target" enabled.
● Relative: The shockwave follows the screen movement. By default, it will stay at the position it was triggered at.
● Screen OffX/Screen OffY: Offsets the center of the shockwave. Negative numbers offset it to the left or bottom respectively, while positive numbers offset it to the right or up respectively.
Shock Line
Creates a shock line effect.
● Speed: The speed at which the shockline will happen.
● Strength: How strong the shockline is. The lower the value, the less
distorted objects get.
● Thickness: The thickness of each line. The higher the value, the thicker the
wave will be.
● WaveW: Line width. The higher the value, the less distorted it is.
● FadeIn/FadeOut: Fades the shockline in and out. The higher the value, the
longer it takes to fade in or out respectively.
● TimeOff: Time offset before the shockline starts with the value being in
seconds.
● MaxSize: Modifies the max size of the line. Leaving it at 0 will put it at the
max value. The value you put here will be multiplied with the line size. 141

 ● Invert: Inverts the shockline. If considered in a 3D perspective, the highs of the line will become lows and the other way around.
● Flip: Flips the line to go from right to left instead of left to right.
● Rotate: Rotates the line to go from bottom to top instead of left to right.
● Dual: Creates two shock lines from the middle, which go to the left and
right respectively.
● Target: Chooses a Group ID as the center of the shockline. The Group ID
can only consist of one object.
● P1/P2: Makes Player 1 or Player 2 respectively the center of the shockline.
Option only available with "Target" enabled.
● Relative: The shockline follows the screen movement. By default, it will
stay at the position it was triggered at.
● ScreenOff: Offsets the center of the shockline. Negative numbers offset it
to the left or bottom respectively, while positive numbers offset it to the right or up respectively. Note that the directions depend on what option you choose from the buttons above.
Glitch
Creates a glitch effect.
● FadeTime: Time for the effect to apply fully.
● Strength: Strength of the effect. All other values will be multiplied with the
strength and adjusted accordingly.
● Speed: Speed at which the glitch effects happen. The lower the value, the
slower the effects.
● SliceHeight: During the glitch effect the screen will be sliced, which refers
to the higher blocks getting offset on the X-axis.
● MaxSliceXOff: Max offset on the X-axis that the objects can be sliced.
142

 ● MaxColXOff/MaxColYOff: Max distance offset for the color on the X-axis and Y-axis respectively.
● Relative: The shockline follows the screen movement. By default, it will stay at the position it was triggered at.
Chromatic
Chromatically splits the colors.
● TargetX/TargetY: How far the colors will split on the X-axis and Y-axis respectively. You have to enable the "Use X" and/or "Use Y" option for the distance to apply.
● FadeTime: Time for the effect to apply fully. Chromatic Glitch
Chromatically splits the colors while adding a wave effect and glitch lines.
● Speed: Speed at which the wave effect happens.
● Strength: How big the waves are.
● LineThickness: Thickness of the glitch lines.
● LineStrength: Opacity of the glitch lines.
● RGBOff: How far the RGB values are offset.
● Duration: Time for the effect to apply fully.
● SegmentH: Height of a segment. A segment consists of one wave effect
and a glitch line.
● RelativePos: With this option enabled, the shape of the effect will stay in
place no matter the Y height. With it off, the effect will always stay in the center of the screen.
143

   Pixelate
Pixelates the screen.
● TargetX/TargetY: How much the screen will pixelate on the X-axis and Y-axis respectively. You have to enable the "Use X" and/or "Use Y" option for the distance to apply.
● FadeTime: Time for the effect to apply fully.
● Snap Grid: Snaps the pixels to the grid. Without this option, the pixels will
smear a little when the player moves.
144

 Lens Circle
Creates a lens circle.
● Size: Size of the circle. The smaller the number, the more closed the circle is.
● Fade: How much the circle fades out. The smaller the number, the less fade there is.
● FadeTime: Time for the effect to apply fully. The circle will zoom in or out instead of fading in.
● Strength: Opacity of the lens circle.
● Screen OffX/Screen OffY: Offsets the center of the lens circle. Negative
numbers offset it to the left or bottom respectively, while positive numbers
offset it to the right or up respectively.
● CenterID: Center of the lens circle. The Group ID can only consist of one
object.
● Tint Channel: Color Channel to use for the lens circle. It will be black by
default.
● Easing: Easing options change the way the circle starts and ends its
movement.
Radial Blur
Blurs the screen radially, so drawing a circle around the center with a given radius.
● Size: Size of the blur. In other words, how much it is blurred per distance from the center.
● FadeTime: Time for the effect to apply fully.
● Intensity: Opacity of the blur.
145

 ● Ref Channel: Uses a Color Channel to reference the fade color. By default, the fade will go towards the Background Color.
Table 7.3: "Ref Channel" behavior.
● Screen OffX/Screen OffY: Offsets the blur center. Negative numbers offset it to the left or bottom respectively, while positive numbers offset it to the right or up respectively.
● Fade: The smaller the fade value, the more blocks will blur out. You can compare this setting to the "Fade" setting in the Lens Circle Trigger, where it is easier to visualize.
● Easing: Easing options change the way the circle starts and ends its movement.
    No Ref Channel
Ref Channel
  The red object has blur applied. As you can see, the blur color fades towards the Background Color, which looks weird on a yellow Background.
Here we set the yellow Color Channel as the "Ref Channel", which makes the blur fade towards yellow.
       146

 ● Target: Uses a Group ID as the center the blur from. The Group ID can only consist of one object.
● EmptyOnly: The blur will only be drawn to pixels that are empty. Table 7.4: "EmptyOnly" behavior.
Motion Blur
Blurs objects based on the X-axis, Y-axis, or a Center Group ID.
● TargetX/TargetY: Amount of blur that will be applied to the X-axis and Y-axis respectively.
● Ref Channel: Uses a Color Channel to reference the fade color. By default the fade will go towards the Background Color. See table 7.3.
● FadeTime: Time for the effect to apply fully.
● Fade: The smaller the fade value, the more blocks will blur out. You can
compare this setting to the "Fade" setting in the Lens Circle Trigger, where
it is easier to visualize.
● Follow Ease: Used for the "TargetID" option, which follows the object's or
player's movement to reference the blur. "Follow Ease" eases the movement, resulting in less or more blur upon movement.
    Without EmptyOnly
With EmptyOnly
       147

 ● Intensity: Opacity of the blur.
● DualDir: Blurs in both directions instead of only one. By default, "TargetX"
will only blur left and "TargetY" will only blur down.
● EmptyOnly: The blur will only be drawn to pixels that are empty. See table
7.4.
● TargetID: Uses a Group ID or the player's movement as the reference for
the blur. If the Group ID or player does not move, there will be no blur. On quick movements, there will be a lot of blur. If a Group ID is used, it can only consist of one object.
Bulge
Bulges the screen.
● Bulge: How much the screen will bulge.
● Radius: How large the bulge circle is.
● Screen OffX/Screen OffY: Offsets the center of the bulge. Negative
numbers offset it to the left or bottom respectively, while positive numbers
offset it to the right or up respectively.
● FadeTime: Time for the effect to apply fully. The bulge will zoom in and out
instead of fading in.
● Target: Uses a Group ID as the center the bulge zooms from. The Group ID
can only consist of one object.
Pinch
Pinches the screen. Works in the opposite way of the Bulge Trigger.
● TargetX/TargetY: How much the screen gets pinched on the X-axis and
Y-axis respectively. The smaller the number, the smaller the pinch.
 148

 ● Screen OffX/Screen OffY: Offsets the pinch center. Negative numbers offset it to the left or bottom respectively, while positive numbers offset it to the right or up respectively.
● Radius: The radius of the circle.
● Modifier: Modifies all values. All values will be multiplied with the value you
put here.
● FadeTime: Time for the effect to apply fully. The pinch will zoom in and out
instead of fading in.
Gray Scale
Adds a grayscale filter to the screen.
● Target: Percentage of grayscale that is applied. For example, with 0.5 the screen will tint 50% gray.
● FadeTime: Time for the effect to apply fully.
● Tint Channel: Tints the screen in a Color Channel instead of gray.
● UseLum: Refers to luminosity, which is a different way to convert color to
grayscale. Luminosity forms a weighted average to account for human
perception. The formula for luminosity is 0.21*R + 0.72*G + 0.07*B.
● Easing: Easing options change the way the colors start and end their
transitions.
Sepia
Adds a sepia filter to the screen.
● Target: Percentage of sepia that is applied. For example, with 0.5 the screen will tint 50% sepia.
● FadeTime: Time for the effect to apply fully.
149

 Invert Color
Inverts the screen colors.
● Target: Percentage of how much color inversion will be applied. For example, with 0.5 the screen will be 50% inverted.
● FadeTime: Time for the effect to apply fully.
● R/G/B: Percentage of the red, green, and blue value respectively. For
example, the color white has the RGB values 255, 255, 255. If you put the R slider to 0.5, it will multiply 255 with 0.5, which is 127.5. Now, the new color would be 127.5, 255, 255, which is a brighter blue color. Note that the color values are inverted due to the Trigger.
● EditRGB: Allows editing the RGB values with the sliders above.
● TweenRGB: If you are in the inverted color state with EditRGB values, and
want to change to different RGB values the switch will be instant. With this
option enabled, they will transition smoothly to the new RGB you set.
● ClampRGB: Limits the values to 1 so that they cannot go past that value.
● Easing: Easing options change the way the colors start and end their
transitions.
150

 Table 7.5: Example of Invert Color Trigger options.
     "R/G/B" with 1, 1, 1
"R/G/B" with 2, 1, 1
"R/G/B" with 2, 1, 1 and "ClampRGB"
   Normal transition to the inverted color. Same with "EditRGB" enabled or disabled.
The transition to red will be quicker, resulting in an overall red tint. Only with "EditRGB" enabled.
The same result as using 1, 1, 1. The transition is still quicker for the red color, however the result is not tinted. "ClampRGB" limits the values between 0 and 1.
      Hue
Shifts the screen hue.
● Degrees: How many degrees the color should shift.
● FadeTime: Time for the effect to apply fully.
● Easing: Easing options change the way the colors start and end their
transitions.
151

 Edit Color
Edits the color of the screen.
● FadeTime: Time for the effect to apply fully.
● CR/CG/CB: Stands for color red, green and blue. Tints the screen in the
corresponding color, with 1 being no tint. The smaller the value, the more
of that color is used.
● BR/BG/BB: Brightness red, green and blue. Works like the "Brightness"
slider in the "HSV" menu when editing colors.
Split Screen
Splits the screen in identical sections.
● TargetX/TargetY: How many sections the screen gets split in the X-axis and Y-axis respectively. The number you input here gets one more added, so with "TargetX" at 1 you split the screen in 2 sections. You have to enable the "Use X" and/or "Use Y" option respectively to split the screen.
● FadeTime: Time for the effect to apply fully.
● Easing: Easing options change the way the movements start and end
their transitions.
Enter Effects
Changes how blocks enter and/or exit the screen.
● Target Enter Channel: Input a Enter Channel ID and assign an Enter Channel ID to objects. The Enter Effect will only affect the objects with the same Enter Channel ID. By default, all blocks will be affected.
● Enter Only/Exit Only: The effect will only be displayed when the objects enter or exit the screen respectively.
152

 Table 7.6: Enter Effects.
     Effect
Explanation
Example
 The objects do not scale in and out, but they still fade in and out.
  Objects enter the screen by moving down from the top and fading in. Objects exit the screen by moving up and fading out.
  Objects enter the screen by moving up from the bottom and fading in. Objects exit the screen by moving down and fading out.
  Objects enter the screen by appearing from behind the blocks and moving to the right. Objects exit the screen by moving to the left and fading out.
  Objects enter the screen by moving in from the right and fading in. Objects exit the screen by disappearing behind the blocks and fading out.
             153

       Objects enter the screen by scaling up and fading in. Objects exit the screen by scaling down and fading out.
  Objects enter the screen by scaling down and fading in. Objects exit the screen by scaling up and fading out.
  Objects enter and exit the screen in a chaotic movement, fading and out respectively.
  Objects enter the screen by the top half moving down, and the bottom half moving up. They also appear from behind the blocks and move to the right and fade in. Objects exit the screen by splitting in half, with the top moving up and the bottom moving down while moving to the left and fading out.
  Objects enter the screen by the top half moving down and the bottom half moving up. They move in from the right and fade in. Objects exit the screen by splitting in half, with the top moving
           154

      up and the bottom moving down while disappearing behind the blocks and fading out.
 Objects enter the screen by the top half moving down and the bottom half moving up while fading in. Objects exit the screen by splitting in half, with the top moving up and the bottom moving down while fading out.
  Objects enter the screen by the top half moving up and the bottom half moving down while fading in. Objects exit the screen by splitting in half, with the top moving down and the bottom moving up while fading out.
  Objects do not fade in and out and also do not have an Enter Effect.
         155

 Move/Rotate/Scale/Fade/Tint Enter
Lets you create custom Enter Effects, similar to the default ones above. Due to these having many of the same settings, we will be explaining them all first and only mention specific ones below. Note that one block is equal to 30 for all of these.
● Length: Distance from the screen borders where the effect is applied.
● Offset: Offsets the screen borders. Enter a positive value to offset it to the
right, and a negative value to offset it to the left.
● Enter Channel: Used similarly to Group IDs. The objects you want to have
the Enter Effect can be set with "Enter Channel" under "Extra2" in "Edit
Group".
● Effect ID: Specific ID that can be referenced later, for example in Stop
Enter Effect Triggers.
● Enter Only/Exit Only: The effect is only applied on screen entrance or exit respectively.
● Easing: Modifies how the objects start and end their transitions.
    156

 For Move Enter, we have these unique settings:
● MoveDist: Distance the objects move.
● MoveAngle: Angle at which the objects will move. 0 is up, 90 right, 180
down, 270 left, and so on.
● XY Mode: You can enter X and Y values like in the normal Move Trigger
instead of choosing a direction.
For Rotate Enter, we have these unique settings:
● Rotation: The degrees you want the objects to rotate. Enter a positive value to rotate clockwise, and enter a negative value to rotate counter-clockwise.
For Scale Enter, we have these unique settings:
● ScaleX/ScaleY: The size the objects scale in the X-axis and Y-axis respectively.
For Fade Enter, we have these unique settings:
● Opacity: The opacity the objects will fade to when they are near the screen edge.
 157

 For Tint Enter, we have these unique settings:
● Color Channel: The color you want to tint the objects in.
● %: The percentage you want to tint the color. For example, if you want to
tint a black object white and set "%" to 0.5, the object will turn gray.
● Main Only and Secondary Only: Some objects have a Base Color and
Detail Color, which is seen in the "Edit Object" menu. These options only
change the these colors respectively.
● HSV: Instead of tinting the color of a different Color Channel, you can
simply tint the same Color Channel and change the "HSV" values of it.
Stop Enter
Stops an Enter Effect. You can stop it by referencing its Enter Channel or its Effect ID.
158

 8. Custom Objects
As mentioned earlier, you can create your own sets of Custom Objects, which can be used across different levels. Custom Objects are in the last tab in the "Build" category.
From left to right, the buttons indicate moving a Custom Object design up and down a position, adding a new Custom Object, and deleting an existing one. To add a Custom Object, first create the design. For example:
    159

 Now select all of the objects in your design, and click the "+" button to add them as a Custom Object. Your design should appear as a new button in the Custom Objects tab, as seen in figure 8.3.
You can now select the Custom Object and place it in the editor whenever you wish. Custom Objects can consist of up to 1000 objects, and you can add up to 200 unique Custom Objects. Select a Custom Object and click the "–" button to delete it, as shown in figure 8.4. Note that this action cannot be undone.
    160

 9. Channel System
Working with Rotate Gameplay Triggers can be tricky, especially when you change directions often and want to use many Triggers. See the example in figure 9.1. Normally Triggers are read from left to right, but this can lead to issues in the example. How should the editor know when these Triggers should be activated? This is handled by using the Channel System. Here, we cover a short example on how to use Channels well.
In this example, we want the player to go in a circle across all sides and pulse the background in a different color when jumping over a Spike. When playtesting in the editor, you will find that the player does not change rotation when reaching the top left Rotate Gameplay Trigger. This is because the Trigger gets activated first and is immediately overridden by the Trigger in the bottom left. To fix this, we have to change the order in which the Triggers are read.
    161

 Rotate Gameplay Triggers have a "Change Channel" option, which puts the player on a different Channel when that Trigger is activated. By default, the player, all Triggers, and all Gameplay Objects are on Channel 0, resulting in everything getting activated from left to right.
In our example, we want to activate the Rotate Gameplay Triggers in the following order: bottom right, top right, top left, and bottom left. To achieve this, we change the Channel of the player after reaching the bottom right Trigger, as seen in figure 9.2.
After reaching the Trigger, the player is on Channel 1 instead of 0. While on the right side of the square, we want to activate the right Pulse Trigger and the top right Rotate Gameplay Trigger. To achieve this, we have to put them on the same Channel as the player.
To put objects on a different Channel, first select them and click "Edit Group". In the bottom right of the menu, you will find a textbox titled "CH". This refers to the Channel of the objects. As seen in figure 9.3, you can input "1" in "CH" to put them on the same Channel as the player.
    162

   We will now activate the first and second Pulse and Rotate Gameplay Triggers in the correct order. When reaching the second Rotate Gameplay Trigger, we want to put the player on a different Channel again. If we do not do this, the top left Rotate Gameplay Trigger is activated at the same time as the second one, resulting in unwanted behavior. Similar to figure 9.2, we now change the Channel of the player to 2 by using the "Change Channel" option in the Rotate Gameplay Trigger.
  163

 We repeat this for all Triggers. We change the Triggers that we want to activate to the Channel the player is currently on, and we change the Channel of the player whenever we reach a new Rotate Gameplay Trigger. See figure 9.5 for the final settings for our example.
Channels should be used for Speed Changers as well, to ensure that the sync does not behave weirdly when having rotated or reversed gameplay. When playtesting the music in the editor, you will see that the line now changes directions accordingly and at the right position. If you have several Triggers on one Channel, they will be read in the direction of the arrow. You can playtest the music and see the direction in which the line goes to see the order in which the Triggers or Gameplay Objects will be activated.
   164

 10. Keyframe System
The Keyframe System allows you to create precise animations using movement, rotation, and scaling with a single Trigger. This is done with several keyframes, which can be freely modified in turn.
We will be going through all the options by creating an example. Assume we want to animate a cube moving in and jumping over Spikes. We will first create the cube we plan to animate and assign a Group ID to it, as well as the Spikes the cube will interact with, as seen in figure 10.2.
    165

 The cube has Group ID 1 assigned to it. We will now place a Keyframe Trigger to understand how basic movement using keyframes works. Place one of these Triggers, click "Copy+Paste" to duplicate it, and move the copied Trigger some blocks to the right. The Triggers will draw a green line between them, as seen in figure 10.3. The line indicates that they are connected and are part of the same animation.
The Keyframe Triggers by themselves are not enough to create the animation. You need to configure a Keyframe Animation Trigger as well. Assign a Group ID to your first Keyframe Trigger, and input your Group IDs in the Keyframe Animation Trigger, as seen in figure 10.4. The Animation Group ID refers to the Group ID your first Keyframe Trigger has. The Target ID refers to the objects that get animated. The Parent ID is optional and is used to reference the center of the target objects for rotation and scaling. By default, all objects will use their own center. The second page of the Keyframe Animation Trigger modifies several animation options. We will be using some of them later. For more information regarding the settings, check its subchapter in the Triggers chapter.
    166

   When playtesting, the cube should now move the same distance to the right as the distance between the two Keyframe Triggers. We can now add more Keyframe Triggers and change their positions, rotations, and sizes, and the cube will follow all of them. However, creating precise animations with only the Keyframe Triggers is difficult, as we do not have any reference points. To change this, we will use the "Preview Art" option in the Keyframe Triggers.
For the Keyframe Triggers to preview our cube, we have to assign a Parent Group ID to the cube. This Parent Group ID works as a reference point for the Keyframe Triggers. All movement, rotation, and scaling will use the Parent Group ID as the center. Our cube should scale and rotate around its own center, so we will add a new object to our cube, as seen in figure 10.5. This object also follows the animation. To mark this object as the Group Parent ID, we will click the "P" button in the Edit Group menu. Doing so turns the Group ID pink, as seen in figure 10.6.
 167

     In the first Keyframe Trigger, we can input the Group ID of our cube now. By clicking the Preview Art option, the keyframe will be replaced with our cube objects, as seen in figure 10.7. Note that the Preview Art option does not work without the objects having a Group Parent ID, as the Keyframe Triggers have no center to draw from without it. You can enable the Preview Art option in the other Keyframe Triggers and hide the Group Parent ID object now.
168

 With our keyframes looking like our art now, we have a lot more control over the movements. However, with all the frames showing at full opacity and layering between them inconsistently, doing exact animations is difficult. You can enable the "Ref Only" option in Keyframe Triggers for lower opacity, as seen in figure 10.7. The "Auto Layer" option fixes our layering issues. This option draws the most recent keyframe at the highest layer, so you always have it completely visible.
You can now create your animation by setting more keyframes at important locations. In our example, this is the beginning of the animation, the position where the cube begins to jump, the movement and rotation during the jump, and the position the cube lands at. You can modify each keyframe position, rotation, and size, as seen in figure 10.8.
  169

   If you look closely, the jump is not smooth at all. It consists of only straight lines between frames with no curvature. To fix this, enable the "Curve" option for the relevant Keyframe Triggers, which results in a much smoother animation, as seen in figure 10.9.
  170

 When playtesting, you will notice that the animation still looks weird. The movement speed between the frames is inconsistent, resulting in the jump being slower than the sliding. The is is because of the "Time" option, which checks for the "Duration" value. Right now, the "Duration" value is 0.5, which means the animation from one keyframe to the next one takes 0.5 seconds. However, we want the duration to change based on the distance of the Triggers. Triggers that are further apart take longer than ones closer to each other.
We can achieve this by enabling the "Dist" option. The "Even" option makes the time between keyframes even, disregarding the distance. Note that the first Keyframe Trigger should always use the "Time" option, as the other keyframes marked as "Ref Only" will not be considered for the other options otherwise, resulting in rash movements. The Keyframe Triggers should look like this now.
  171

 Depending on how many keyframes you placed, the movement may still look too slow. You can change this by modifying the time variable in the Keyframe Animation Trigger. On the second page, you will find the "Time Mod" option, which speeds up or slows down your animation depending on what value you put. A value smaller than 1 will speed the animation up, while a value greater than 1 will slow the animation down. Play around with the "Time", "Even", "Dist", "Duration", and modifier settings to find a good balance to create smooth movements.
With this, our first animation is complete. Assume that we want to create a second cube jumping over the Spikes from the other side using the same keyframe animation. We first create our second cube and give it a new Group ID. We now want to make a copy of our keyframes. However, using "Copy+Paste" does not work, as the keyframes will be connected. We can instead use the "Dup Anim" button within the keyframes. By inputting our new Group ID, we are now referencing the new cube. Assign a new Group ID to the first Keyframe Trigger and place a new Keyframe Animation Trigger with all new Group IDs. The result is figure 10.11.
  172

 When playtesting, you will see that the second cube will not jump over the Spikes. Instead, it will follow the exact movement of the first cube. By clicking the "Reverse Order" button, the animation is done in reverse like we want. Movement to the right will go to the left instead.
If we want to change anything about our cube art, for example adding more details or changing the color, we will see that the Keyframe Trigger art is not updated accordingly. To fix this, click the "Update Art" button in any Keyframe Trigger.
Due to how we set up the keyframes, our rotations will always be in the correct direction. However, you might want to rotate some frames clockwise and others counter-clockwise. You can achieve this by clicking "CW" for clockwise or "CCW" for counter-clockwise. By default, rotations happen in the closer direction. The "x360" option adds an entire rotation before reaching the keyframe.
We want to finalize our animation by adding a screen pulse when the cubes land. To do this, we can use the "Spawn ID" feature in the Keyframe Triggers. Configure a Pulse Trigger like normal and assign it a Group ID. Input this Group ID into a Keyframe Trigger. The pulse will spawn when the animation reaches that keyframe. Using the "SpawnDelay" option can delay the Trigger by a set duration. Alternatively, you can use the "Prox" option to spawn the pulse when the cube is close to the keyframe.
 173

 And with that, our animation is finished. Figure 10.12 shows the final setup. You can move the Keyframe Triggers out of the screen now without the animation changing. For an easy way to select all keyframes in an animation, click one of them and click the "Select All" button.
  174

 11. Auto-Build System
The Auto-Build System allows you to create designs from a premade template. This makes it particularly useful to speed up block design creation. However, the system can also be used across levels, making it work well for 3D lines, layouts, and more too. To get started, place one of the last 3 objects in the Blocks tab (first tab under "Build") in the editor. These are called Smart-Blocks. Afterwards, click "Edit Special" to open the following menu:
We will be going through all the settings by creating several examples. First, we will use premade templates to achieve some basic designs. Then, we will set up our own templates for more complex designs and use the system to generate random Spike designs.
We start by creating a new template. To do this, go to the "Browser" tab. It should look like figure 11.2 when you first open it. Click the "New" button and enter a name to create a new template.
  175

     You will see information about our template below the name. "Defined" refers to how many different templates we have created. "Variations" refers to how many variations our designs have. The "46" refers to the default template blocks, which we will use in our first example to create a block design.
176

 Click the "Browse" button to see all premade Smart-Block templates, as seen in figure 11.4. By clicking on a template, you can add it to the editor. The amount of templates you add does not matter, but by creating all 46 premade ones, you ensure your template is functional for simple structures. For our example, we will design all templates.
    177

 We can now start creating our design on the template. Blocks with dashed outlines function as references. You fill out the solid outline blocks as if the reference blocks were in your design. See the figure below.
You can build your design across different layers. Additionally, you can add details up to 1 block space outside of the Smart-Block. After finishing every design, we have the result in figure 11.7.
    178

 Now that we have finished our design, we want to update our template to include our decoration. Select everything you have created, as well as the Smart-Blocks. Go into the "Browser" tab again and ensure you use your template. After doing so, click the blue "Template" button on the initial page.
If you return to the screen from which we copied the premade templates, our new designs can now be seen, as shown below.
    179

 With that, we have created our first template. We now want to test it by generating the design for custom structures. To do so, build structures using the Smart-Blocks, as seen in figure 11.10. After doing so, select all the Smart-Blocks, open the system's menu from "Edit Special", and click the "Create" button. This gives the result in figure 11.11.
We can automatically fill any Smart-Block structures with our template design. It can also be used across levels if we wish to reuse it at any point.
    180

 Even though the premade templates worked well for our structures, we are still limited in what we can create. Because of this, we now want to add to our template and expand it with new structures and slopes. Click the "Create All" button to paste all of your templates so far. Click "Paste Template" to see the first structure we want to expand. As you can see, the template does not create the designs correctly, as seen in figure 11.12. We now recreate our design in the new structures to be correct, as seen in figure 11.13.
    181

 We created these structures like new templates. We now also want to add slopes to our templates. To do this, we can make our own templates to decorate. To create your own templates, use the Smart-Blocks to create the structures you need. With more variations, your result gets more precise.
You would usually have to create versions for all rotations of the slopes. However, by enabling "Allow Rotation", "Allow Flip X", and "Allow Flip Y" in the main menu, seen below, one version is enough.
    182

 We can now fill the slopes with our design. Like with the premade templates, we can place details up to 1 block space outside the Smart-Blocks.
Let us create a new template now with all the new templates added. Like before, go to the "Browser" tab and create a new template. Use it, select all designs along with their Smart-Blocks, and click "Template". The Auto-Build System will deconstruct our slopes into singular blocks, as shown in figure 10.17. With that, we have finished our second template.
    183

 Templates can have several variations, indicated by a small number on the templates, as seen in figure 11.18. Variations can have different odds of being used, which can create more details. In our third and final example, we want to create a template that generates unique configurations of Spikes on the ground.
We first decide what Spike variations we want to use. The best way to achieve this is to create all the variations we want in the editor as follows:
    184

 As you can see, the Spikes always start and end with the same Spikes. We also want our Spikes to be variable in length and only have the corner Spikes at the start and end. To achieve this, we will be using reference blocks. Reference blocks indicate that a variation gets used if another Smart-Block is at the location of the reference block. We can use this to set up our templates, as shown in figure 11.21. The left corner Spike requires another Spike to the right of it, while the right corner Spike requires another Spike to the left of it. (You mark a Smart-Block as a reference by clicking the "Reference Only" option, as shown in figure 11.20.)
    185

 For our other Spikes, we require another Spike to the left and the right of each. We can use the reference blocks to indicate this by placing one to the left and one to the right of our Smart-Block. Using the same templates six times for all our Spike variations leaves us with the result shown in figure 11.22.
We now create a new template, and update it with the templates we created. The template browser should show our corner Spikes and one of the other six Spikes with a small "6" on it.
    186

 You can click on the Spike template to view all variations, as seen in figure 11.24. Right now, none of the variations have the odds to appear. To change this, click all variations and hit the "Add" button.
    187

 Doing so has made the odds of each appear below the respective variation. Currently, every variation has a one in six chance. For our example, we want the fifth variation to be rarer than the others and the third to be more likely. To do this, we first deselect variation five and click "Add" to increase their odds. After that, we deselect all besides variation three and click "Add". This process changes the odds of the selected variations appropriately.
Now, all the odds should have changed accordingly. We can now place Smart-Blocks and click "Create" to generate unique variations of ground Spikes, with each Spike having different odds, the length being variable, and the corner Spikes always at the correct position. Figure 11.26 shows some examples.
  188

 12. Pause Menu
There are various options and buttons that can customize your experience in the editor. These are mostly found in the Pause Menu of the editor, which is found by clicking the button in the top right. It looks like this:
Here, there are a lot of options (seen as checkboxes) and buttons that may or may not be self-explanatory. In this chapter, a small description of each is provided in case you need help. For clarity, the options are shown inside a blue box, while the buttons are shown inside the red boxes.
Options
These options, shown in blue in figure 11.1, customize the editor view in specific ways. In other words, they have no actual effect on the level itself, but rather the experience of making it. Here is a short description of each one.
  189

 ● DebugDraw: Draws hitboxes for objects that interact with the player. The hitboxes of blocks are drawn in white, while the hitboxes of obstacles, such as saws and Spikes, are drawn in red. In other words, collision with a red line leads to death.
● Hide Invisible: Hides objects that are set to be invisible in the editor. (This only affects objects that are set to "Hide" inside Extras of Edit Group.)
● Preview Mode: Shows the level close to how it looks in-game when played. This means that you can see how the colors of objects, the Background, Ground, and so on look together while in the editor.
● Preview Animations: Shows Animated Objects how they look in-game.
● Preview Particles: Shows particles how they look in-game.
● Preview Shaders: Shows shader effects how they look in-game.
● Show Ground: Shows the Ground. Disabling this is useful if you want to
place objects underneath it.
● Show Object Info: Shows some information about selected objects. This is
seen as text in the top left of the editor. The different abbreviations are as follows: "C" is Color Channel, "C1" is Base Color, "C2" is Detail Color, "G" is grid position, and "EL" is editor layer.
● Show Grid: Shows the editor grid.
● Select Filter: Lets you use the Group ID and Color Channel filters in the
"Delete" tab to select objects (while in the "Edit" tab).
● Ignore Damage: Lets you playtest without dying, regardless of the
obstacles you touch.
   190

 Buttons
The buttons seen in red in figure 12.1 perform various actions that are helpful when creating. First are the two buttons in the center at the bottom, which toggle music guidelines and open this guide, respectively.
● ReGroup: If you have selected objects with various Group IDs, you can use this to change all the corresponding Group IDs to use the lowest ones not yet used.
● Create Loop: After selecting a Trigger setup, you can click this to create a Spawn Loop for you.
● Keys: Shows various key bindings that are useful while in the editor.
● AlignX/AlignY: If you have various objects selected, they are all aligned
evenly on the X-axis or Y-axis respectively.
● Build Helper: If you select various objects in your level, including Triggers,
and click this, any already used Group IDs and their references inside Triggers will be distributed to new unused Group IDs. Useful for collaborations where some people may have used overlapping Group IDs.
● Copy+Color: Copies the selected objects including all of their Color Channels' starting settings. Useful for copying and pasting across levels. By default, copying and pasting across levels does not include the Color Channel information.
● Select All: Selects every object in the level.
● Paste+Color: Pastes the objects and Color Channel information after using
"Copy+Color".
● Select All Left/Right: Selects all objects to the left or right, respectively, of
where you are in the editor.
● Create Extras: This adds outline objects for certain types of blocks, such as
the ones that look like rocks.
● Unlock Layers: Unlocks all layers that are locked at once.
 191

 ● New GroupX/Y: Assigns new Group IDs to the selected objects, going from left to right or bottom to top respectively.
● Reset Unused: Resets all Color Channels that are not used by any objects.
● Uncheck Portals: Unchecks all checked Portals. Checked Portals show the
roof and ground boundaries.
Not mentioned in this list is the gear in the top right. This is used to customize the editor in various ways. You can, for example, increase the amount of rows or buttons per row for "Build" and "Edit". This is helpful when working with tabs that have many buttons. Additionally, there are many other options that toggle different things in the editor. If you are unsure what an option does, click the information box (seen as an "i" button).
192

 13. Sharing Your Level
Verifying
Once you are finished with your level, you have to verify it before you can publish it. This means that you have to beat your level by clicking "Save and Play" in the Pause Menu. You can also click the play button from the Level Menu (figure 13.1). It must be an attempt from the start of the level, so a Start Position cannot be used. If your level has any User Coins, these must also be collected. Note that you can collect the User Coins on different attempts, as long as all lead to you beating the level. For example, if your level has 2 User Coins, you can collect the first in one attempt, and then the second in another attempt.
Level Menu
After successfully verifying your level (and its potential User Coins), head out of the level and go to the Level Menu, seen in figure 13.1. As you can see, it says that the status is "Verified" on the bottom right. This means that you are ready to upload your level.
      193

 The other text gives various other details about the level. To the left is the level's length if the Game Type is Classic: 0-10 seconds is "Tiny", 10-30 seconds is "Short", 30-60 seconds is "Medium", 60-120 seconds is "Long", and 120+ seconds is "XL" (for Extra Long). If the level is Platformer, this will simply say "Plat." since these levels' length cannot be determined easily. In the middle is the starting song, and below that is the version and ID (once shared).
On the right are buttons for various actions. First is deleting the local editor level. This action cannot be undone, so only use this if you are certain. Below that is a button that opens this guide. Third is a button to make another editor copy of the level, and finally is a button to move the level to the top of your editor levels (indicated by the arrow). Clicking this will put the level at the top in the list seen by clicking the back arrow in the top left. To organize this list better, you can put your level into a specific folder, indicated by the folder with a "0" on the left side of the menu. The information button in the bottom left shows various statistics about your level.
Before sharing your level, putting in a title and description at the top is most important. The title of a level cannot be updated once it is shared. You would have to reupload a new copy with a new name. However, the description can easily be changed. Note that writing one is optional.
Uploading
Once you have set a title you are satisfied with, click the third big button. This opens the level sharing interface, which is shown below. Here, the name and description is shown at the top. Below that, you can select how many Stars or Moons you want to request. To decide this accurately, we recommend playing levels on the Featured tab and getting an idea of the difficulty of rated levels. Note that you can skip choosing one without any problems later.
194

   In the top right, indicated by the gear, are some extra settings. Clicking this opens the menu seen in figure 13.3. Here, you can choose whether you want to allow users to copy your level into their editor or not. You can also check "Requires Password" to require users to input a password from 4 to 6 numbers long to copy it.
There is also an option for "Unlisted", which means that your level does not show on any level lists or general search results. This means that it will not show on your profile either. For users to find it, they must search the exact ID. On top of being unlisted, you can also enable "Friends Only", which means a user must be your friend and search the exact ID to find it. You can, for example, enable these options alongside "Allow Copy" to share a level to a friend you want to collaborate with.
195

   Once you are happy with all these settings, go ahead and click "Share Level". This will upload your level to the servers if there are no issues. On the Level Menu, the ID field will now be updated with your level's ID. This can be shared with others to help them find your level. To see how your level looks on the servers, head back to your list of editor levels seen below.
  196

 Here, click the button in the bottom left (marked in red) to see your published levels. Your recently published level shows at the top. Clicking it takes you to its level page seen below. Here you can play it, see comments and the Level Leaderboards, and more.
The two buttons on the left, marked in pink, may be useful in some cases. First is a button that removes your level from the server entirely. The button in the top right of this page only deletes it from your saved levels, but it can still be found by others. Secondly is another copy button, which is always enabled for the creator of a level (regardless of the copying options set earlier). This is useful if you no longer have a local editor copy of your level.
  197

 Updating Levels
The easiest way to update an uploaded level is to make edits on the local editor copy. This will change its status from "Uploaded" to "Unverified", and the version number also says 2 instead of 1. Once done with your edits, go through the process of verifying again, and then share it as you did before. This will automatically update the online level.
If you no longer have a local editor copy of the level, copy the online level from the button seen in figure 13.5. This makes a copy with an additional number at the end of the name. If you want to use this copy to update the level, you have to edit the title of this copy to be the exact same as the online level. After that, do your edits and share it as before. This also links the update to the shared level.
Updating Descriptions
As for updating only the description and not the level content, it is also best to have the exact copy that was uploaded. Once uploaded, the copy will show a new refresh button on the left, marked in red below. This is solely used to update the description. Simply type in your new description and click it.
  198

 If you do not have the exact copy, you have to do the same as when you want to update a level by copying the published level. Unfortunately, the refresh description button will not show up in this case. You will have to verify the level again, type in your new description, and go through the sharing process. Make sure the level name is the exact same as the online level.
Rating
After you have published a level publicly, the displayed Difficulty of the level may update. This is based on community ratings through the bottom right button in figure 13.5. Using this, players can get an idea of the Difficulty of your level. However, this does not mean the level gives any rewards when it is beaten.
Your level gives rewards if RobTop, the developer of the game, plays it and gives it a certain amount of Stars or Moons. The amount ranges from 1 to 10. Stars are rewarded for Classic levels, while Moons are rewarded for Platformer levels. These show below the Difficulty face on the level page or level lists. Once rated, the Difficulty is locked and community votes are no longer available. These are the Star and Moon values for each Difficulty:
● Auto: 1 Star or Moon
● Easy: 2 Stars or Moons
● Normal: 3 Stars or Moons
● Hard: 4 to 5 Stars or Moons
● Harder: 6 to 7 Stars or Moons
● Insane: 8 to 9 Stars or Moons
● Demon: 10 Stars or Moons
199

 Within Demon levels, there is an additional separation into Easy, Medium, Hard, Insane, and Extreme Demons in order of increasing difficulty. This is solely based on community votes on levels already rated Demon by RobTop. Getting a higher Demon rating does not change the reward, only the Difficulty Face shown on the level.
If a player beats a Rated level, the amount of Stars or Moons are added to their profile statistics. If the level has User Coins, a rating may also involve verifying these so that they show on a user's profile when collected. This is the case if they are done properly as explained here.
There are no specific guidelines to ensure your level gets a rating. It is simply about whether RobTop likes it or not. However, some general tips are:
● At least 30 seconds in length
● Overall clear gameplay
● Decent visuals
● Optimized performance
Additionally, how much RobTop likes it results in various types of ratings. This is indicated by an additional effect around the Difficulty Face, which is seen below. From left to right, we have Rated, Featured, Epic, Legendary, and Mythic. Each gives 1 more Creator Point than the last, which is a statistic shown on profiles and the Creators Leaderboard to highlight creators.
   200

 One way to increase the chances of your level being rated is by requesting it to a Moderator. Moderators are players that can suggest high-quality levels to RobTop for a rating. They are indicated by a special "M" badge on their in-game profile.
For more information about the Rating System:
https://www.boomlings.com/GDRating
For more information about the Leaderboards:
https://www.boomlings.com/GDLeaderboards
14. Afterword
Suggestions
This document took a long time to write for us (Viprin and AutoNick). We hope that there is a lot of useful information here to help you create, whether you are new or experienced. However, it is by no means perfect. If you have suggestions for additions or changes, feel free to contact us through social media:
● Viprin: Discord, Twitter, and YouTube.
● AutoNick: Discord, Twitter, and YouTube.
Special Thanks
First, special thanks to Erdyuri and Spu7Nix for creating the cover. Of course, we also have to give a special thanks to RobTop for creating this amazing editor in the first place. There are extremely few games that can compete in terms of complexity and possibilities. He also provided explanations and support for many parts of this document. Finally, special thanks to you for reading this document. Good luck creating in Geometry Dash!
           201