Skip to content

Project Settings

Project settings provide centralized control over engine runtime parameters, physics simulation, build options, and editor behavior. All settings are automatically saved to the project configuration file and shared across team members.

Opening Settings

Open the settings dialog from the menu bar via Edit → Settings… or with the keyboard shortcut Ctrl+, (Cmd+, on macOS). The left sidebar lists all setting categories; click a category to switch the content area on the right.

Use the search bar at the top to filter settings by name, description, or tag. Settings with non-default values show a dot indicator on the sidebar navigation. Each section provides a Reset button to restore all its settings to defaults.

General

PropertyTypeDefaultDescription
LanguageselectenEditor UI language
Preview Portnumber3456Local port for the preview server. Range: 1024–65535

Project

PropertyTypeDefaultDescription
Spine VersionselectnoneSpine runtime version to use. Options: None, 4.2, 4.1, 3.8. The corresponding Spine WASM module is bundled automatically at build time.
Project NamestringemptyProject name displayed in the editor title bar
VersionstringemptyProject version number
Default ScenestringemptyScene path loaded at runtime startup
Design Widthnumber1920Design resolution width in pixels
Design Heightnumber1080Design resolution height in pixels

Scene View

PropertyTypeDefaultDescription
Show GridbooleantrueDisplay a background grid in the scene view
Grid Colorcolor#333333Grid line color
Grid Opacityrange1.0Grid transparency. Range: 0–1
Show GizmosbooleantrueDisplay gizmo overlays (transform handles, anchors, etc.)
Show Selection BoxbooleantrueDisplay a bounding box around selected entities
Show CollidersbooleantrueDisplay physics collider wireframes
Show StatsbooleanfalseDisplay frame rate and render statistics in the top-left corner of the scene view
Grid Sizenumber50Grid cell size in pixels. Range: 5–500

Gizmo Appearance

PropertyTypeDefaultDescription
Gizmo Color XcolorredX-axis gizmo color
Gizmo Color YcolorgreenY-axis gizmo color
Gizmo Color XYcolorblueXY-plane gizmo color
Gizmo Hover ColorcoloryellowGizmo hover highlight color
Selection ColorcolorblueSelected entity outline color
Handle Sizenumber10Transform handle size in pixels
Gizmo Sizenumber100Transform gizmo length in pixels

Physics

PropertyTypeDefaultDescription
Enable PhysicsbooleanfalseEnable physics simulation. When enabled, the physics WASM module is included in builds automatically.
Gravity Xnumber0Horizontal gravity component
Gravity Ynumber-9.81Vertical gravity component (negative = downward)
Fixed Timestepnumber1/60Physics step interval in seconds. Minimum: 0.001
Sub-Step Countnumber4Number of sub-steps per physics step. Range: 1–16. Higher values improve accuracy at the cost of performance.
Contact Hertznumber30Contact stiffness (cycles/sec). Higher = less overlap but more jitter. Range: 1–500
Contact Damping Rationumber10Contact bounciness damping. Lower = faster overlap recovery but more energetic. Range: 0.1–100
Contact Speednumber3Max overlap resolution speed (m/s). Range: 1–100

Collision Layers

Define up to 16 named collision layers (e.g., “Player”, “Enemy”, “Ground”) and configure the collision matrix to control which layers interact. See Colliders — Collision Filtering for details.

Rendering

PropertyTypeDefaultDescription
Default Sprite Widthnumber100Default width for new Sprite components
Default Sprite Heightnumber100Default height for new Sprite components
Pixels Per Unitnumber100Pixel-to-physics-unit conversion ratio

Build

PropertyTypeDefaultDescription
Atlas Max Sizeselect2048Maximum texture atlas size in pixels. Options: 512, 1024, 2048, 4096.
Atlas Paddingnumber2Spacing between textures in the atlas in pixels. Range: 0–16. Prevents edge bleeding during texture sampling.

Runtime

Runtime settings control engine behavior during actual gameplay and take effect in both previews and final builds.

PropertyTypeDefaultDescription
Scene Transition Durationnumber0.3Fade-in/fade-out duration for scene transitions in seconds. Range: 0–5
Scene Transition Colorcolor#000000Background color during scene transitions
Default Font FamilystringArialDefault font for text rendering. Applies to the Text and TextInput components.
Canvas Scale ModeselectFixedHeightCanvas scaling strategy. Determines how the game adapts to different screen sizes.
Canvas Match W/Hrange0.5Width-to-height matching weight. Range: 0–1. Only visible when Scale Mode is Match. 0 = match width exactly, 1 = match height exactly.
Max Delta Timenumber0.25Maximum time step per frame in seconds. Range: 0.01–1. Prevents physics and animation jumps after long stalls.
Max Fixed Stepsnumber8Maximum Fixed Update iterations per frame. Range: 1–64. Caps CPU overhead at low frame rates.
Text Canvas Sizeselect512Off-screen canvas size used for text rendering. Options: 256, 512, 1024, 2048. Larger values support bigger text areas but consume more memory.

Canvas Scale Mode Reference

ModeBehavior
Fixed WidthKeeps the design width constant; height scales based on the screen aspect ratio
Fixed HeightKeeps the design height constant; width scales based on the screen aspect ratio
ExpandUses the larger of the width and height scale factors, ensuring the full design area is visible
ShrinkUses the smaller of the width and height scale factors, ensuring the screen is completely filled
MatchInterpolates between the width and height scale factors, controlled by the Canvas Match W/H weight

Asset Loading

PropertyTypeDefaultDescription
Load Timeoutnumber30000Maximum time (ms) to wait for a single asset to load before marking it as failed
Failure Cooldownnumber5000Time (ms) before a failed asset can be retried

Network

PropertyTypeDefaultDescription
HTTP ProxystringemptyProxy URL for editor HTTP requests (update downloads, etc.)

Using RuntimeConfig in the SDK

The editor’s runtime settings are written into the project configuration at build time. In scripts you can read or override these values through the RuntimeConfig object:

import { RuntimeConfig } from 'esengine';
RuntimeConfig.maxDeltaTime = 0.25;
RuntimeConfig.maxFixedSteps = 8;
RuntimeConfig.sceneTransitionDuration = 0.5;
RuntimeConfig.defaultFontFamily = 'Noto Sans SC';
RuntimeConfig.canvasScaleMode = 1; // 0=FixedWidth, 1=FixedHeight, 2=Expand, 3=Shrink, 4=Match
RuntimeConfig.canvasMatchWidthOrHeight = 0.5;
RuntimeConfig.textCanvasSize = 1024;