Property Types
Editing Properties
- Open the Element Properties panel (V)
- Click Variables to open the Local Properties menu
- Each property shows:
- Name — The property identifier (localized)
- Description — Explanation of what the property does (localized)
- Input — Text field or dropdown depending on type
- Changes are applied immediately
Property Lifecycle
When a property value changes:- The
ElementPropertiesManagerupdates the stored value - The
OnPropertyValueChangeInEditorcallback fires on the element’s template - The level is marked as having unsaved changes
- The visual preview may update (depending on template implementation)
Builder System
The Local Properties menu uses a builder pattern:EditorProperty.Buildercreates property UI elements from the template’s property definitions- Input fields are used for Integer, Float, and String types
- Dropdowns are used for Boolean and Enum types
- Deprecated properties are filtered out automatically
Template-Defined Properties
Properties are defined by each template and vary between element types. Common examples:- Enemy speed — How fast the enemy moves
- Item value — Score value of the item
- Decoration color — Visual color variant
- Block durability — How many hits the block can take
Local Properties are not the same as Lua Script Variables. Local Properties are defined by the template and have typed inputs. Script Variables are user-defined key-value pairs for Lua scripts.