# Krotox Engine > Krotox Engine is a C++17 2D game engine on Vulkan 1.3 with Box2D physics, C# scripting, Windows and macOS editors, and one-click Android export. Krotox (also written "Krotox Engine") is a 2D game engine. Official site: https://www.krotox.com/ ## Key facts - C++17 2D game engine with an exclusive Vulkan 1.3 rendering backend (batched quad renderer) - Box2D 3.x physics, EnTT entity-component system, miniaudio audio, MSDF text - Gameplay scripting in C# on Mono, with hot reload on desktop - Dockable desktop editor for Windows and macOS; one-click export to Android (signed APK or AAB) - Version 1.0.0. 0% royalties, no runtime fees; you own the games you ship - Zero telemetry by default; opt-in diagnostics ## Main pages - [Home](https://www.krotox.com/): overview, features and download - [Documentation](https://www.krotox.com/docs): guides, manual and scripting API - [FAQ](https://www.krotox.com/faq): answers about rendering, Android export, scripting, licensing and privacy - [Privacy Policy](https://www.krotox.com/privacy) - [Terms & Conditions](https://www.krotox.com/terms) ## Docs: Start Here - [What is Krotox Engine?](https://www.krotox.com/docs/start/what-is-krotox): What Krotox is, what is inside it, who it is for, what you need to know first, and how these docs are organised. - [Install Krotox & system requirements](https://www.krotox.com/docs/start/install-and-requirements): Check your GPU and OS, download the editor for Windows or macOS, install it, and get ready to test on an Android phone. - [Your first project: from empty scene to Android](https://www.krotox.com/docs/start/first-project): A guided walkthrough: create a project, add sprites and physics, write a first C# script, press Play, and run on an Android phone. - [Core concepts: entities, components, scenes and assets](https://www.krotox.com/docs/start/core-concepts): The mental model behind Krotox: entities and components, scenes, assets and their IDs, scripts, units, layers, and the update loop. - [Glossary](https://www.krotox.com/docs/start/glossary): Plain-language definitions of the terms used across the Krotox docs, from AAB and ADB to Vulkan and Tilemap. - [Troubleshooting common problems](https://www.krotox.com/docs/start/troubleshooting): Fixes for the problems new users hit most: invisible sprites, objects falling through floors, scripts that do nothing, and Android connection issues. - [Learning path: what to read next](https://www.krotox.com/docs/start/learning-path): A recommended reading order for the Krotox docs, plus shortcuts to the right articles for common goals. ## Docs: Krotox Manual - [Krotox at a glance: how the 2D engine fits together](https://www.krotox.com/docs/manual/engine-philosophy): The parts of Krotox Engine and how they connect: the editor, the C++ core, Vulkan 1.3 rendering, Box2D physics, Mono C# scripting, and the files a project is made of. - [Sign-in, Project Hub & project setup](https://www.krotox.com/docs/manual/project-hub): From launching the editor to an open project: signing in or working offline, the Project Hub's pages, one-time toolchain settings, creating a project and what goes in each folder. - [Editor interface tour](https://www.krotox.com/docs/manual/editor-panels): Every part of the Krotox Editor for 2D work: the menu bar, toolbar, Viewport, Hierarchy, Properties, Content Browser, Console, Profiler, Settings and the level-building panels. - [Keyboard shortcuts](https://www.krotox.com/docs/manual/editor-shortcuts): Every editor shortcut, checked against the editor source: project and scene commands, editing, Play mode, scripting, gizmos, tile painting and level building. - [Scenes, prefabs & Play mode](https://www.krotox.com/docs/manual/scene-workflow): The everyday loop in Krotox: building a scene from entities, parenting and grouping, turning entities into prefabs, testing with Play and Simulate, and managing many levels. - [Assets, textures & sprite atlases](https://www.krotox.com/docs/manual/assets-and-import): How Krotox tracks assets with .meta files, the texture import settings and presets, packing sprites into an atlas, and auditing what your build will contain. - [2D component reference](https://www.krotox.com/docs/manual/components-2d): Every 2D component you can add in the inspector, with its fields and defaults: transforms and sorting, sprites and animation, shapes, lines, trails, text, particles, masks, sprite effects, 2D lights, parallax, cameras and audio. - [Tilemaps, Tile Palette & level generation](https://www.krotox.com/docs/manual/tilemaps-and-levels): Building 2D levels: grids and tilemaps, painting with the Tile Palette, rule tiles and auto-tiling, tilemap colliders, generating layouts procedurally, and placing props with the Prefab Palette. - [Game UI: canvases, layout & screens](https://www.krotox.com/docs/manual/ui-system): Building menus and HUDs with Krotox's native UI: canvases and scaling, anchors and pivots, safe areas for notched phones, layout groups, the UI controls, how screens replace each other, and world-space canvases. - [2D physics: bodies, colliders & world settings](https://www.krotox.com/docs/manual/physics-2d-system): How Box2D 3.x physics works in Krotox: body types, every collider shape, materials, triggers, collision layers and groups, fast-moving objects, effectors, the platformer character controller and the project's physics settings. - [2D joints, ragdolls & physics gameplay components](https://www.krotox.com/docs/manual/joints-2d): Connecting bodies with Box2D joints (distance, hinge, slider, wheel, weld, motor, target, friction), breakable joints, building ragdolls, and the ready-made gameplay components: spawners, bumpers, force fields, portals, conveyors, hazards, motion paths and level metadata. - [Building for Android (APK & AAB)](https://www.krotox.com/docs/manual/android-deployment): Everything between your scene and a game on a phone: the one-time toolchain setup, every Android field in Build Settings, signing for Google Play, choosing ABIs, pre-flight checks, Build and Run on a device, and what the exporter does for you. - [Windows builds, resolution & scaling](https://www.krotox.com/docs/manual/desktop-downloads): Building a standalone Windows game: the Windows PC build options, what ships in the output folder, choosing a render resolution and scaling mode (letterbox, pixel perfect, stretch), display settings from scripts, and running without a GPU. ## Docs: Scripting API - [Writing scripts & the lifecycle](https://www.krotox.com/docs/scripting/lifecycle): How a Krotox C# script is written and attached, every callback and exactly when it runs, the three-pass startup with ExecutionOrder, the per-frame order, what happens when a script throws, and hot reload. - [Inspector fields & attributes](https://www.krotox.com/docs/scripting/inspector-fields): Which C# field types the editor shows and saves, referencing entities, other scripts and assets from the inspector, and the attributes that shape the inspector: Range, Min, Max, Header, Space, Tooltip, ReadOnly, HideInInspector, ShowInInspector and Color. - [Entity API: transforms, hierarchy & components](https://www.krotox.com/docs/scripting/entity-api): The Entity class in full: identity and validity, active state, local and world transforms, parents and children, getting, adding and removing components and scripts, finding entities by name and tag, and physics layers. - [Prefabs, scenes & saving](https://www.krotox.com/docs/scripting/spawning-scenes): Spawning and destroying entities, loading scenes (including asynchronously), keeping entities across scene loads, loading assets at run time, saving with PlayerPrefs, SaveGame slots and JsonUtility, and ScriptableObject data assets. - [Rigidbody2D, colliders & collision callbacks](https://www.krotox.com/docs/scripting/rigidbody-api): Controlling 2D physics bodies from C#: velocity, forces, impulses and torque, teleporting, mass and sleep, changing colliders at run time, and every collision and trigger callback with the Collision2D data they carry. - [Physics2D queries, layers, joints & controllers](https://www.krotox.com/docs/scripting/physics2d-queries): Raycasts, shape casts and overlap queries, layer masks and per-pair ignoring, collision groups, tuning the live physics world, scripting joints and driving motors every frame, two-bone IK, effectors and the Character Controller 2D. - [Input: keyboard, mouse, touch, gestures & gamepads](https://www.krotox.com/docs/scripting/input-touch-api): Reading input in Krotox: keys, mouse buttons and position, multi-touch, the built-in gesture recognizer (tap, double tap, long press, swipe, edge swipe, drag, pinch), input bindings, gamepads, the Android back button, and ignoring taps the UI used. - [Sprites, animation, cameras & effects API](https://www.krotox.com/docs/scripting/rendering-2d-api): Scripting 2D visuals: sprite colour, textures and flipping, animated sprite states and the Animator, particles, lines and trails, shapes, sprite effects (hit flash, outline, dissolve), 2D lights, the camera and screen-to-world conversions. - [UI scripting API](https://www.krotox.com/docs/scripting/ui-api): Driving Krotox UI from C#: showing and hiding elements, switching screens with canvas priority, handling button clicks three ways, the scriptable members of every UI control, and complete pause-menu and HUD controllers. - [Audio API](https://www.krotox.com/docs/scripting/audio-api): Playing sound from C#: Audio Source components on entities, fire-and-forget sounds and music with AudioCommand, fades and cross-fades, mixer groups and volume settings, muting, and spatial sound. - [Tilemap, Grid & level generation API](https://www.krotox.com/docs/scripting/tilemap-api): Reading and writing tiles at run time, converting between world and cell coordinates, TileData, rule tiles for auto-tiling, and generating levels in code with the KrotoxEngine.PCG library (cellular automata, BSP dungeons, wave function collapse and more), then baking them into a tilemap. - [Coroutines, Invoke & tweens](https://www.krotox.com/docs/scripting/tween-api): Running code over time without timers in every script: coroutines and all the yield instructions, Invoke and InvokeRepeating for delayed and repeating calls, and Tween helpers with easing curves for moving, scaling, rotating and fading. - [Time, math, logging & debug drawing](https://www.krotox.com/docs/scripting/time-math-debug): Time and time scale, pausing, the Mathf helpers, Vector2/Vector3/Vector4 and Quaternion, angle units, logging to the Console, drawing debug lines, boxes, circles and text, assertions, and profiler samples. - [Application, screen, device & network](https://www.krotox.com/docs/scripting/app-platform-api): Platform-aware code: detecting the platform and the editor, frame rate and v-sync, pause, focus and low-memory events, saving on background, screen size, DPI, safe areas and orientation, display settings on desktop, vibration, battery, locale, sharing, and checking for an internet connection. - [Editor tool scripts & built-in scripts](https://www.krotox.com/docs/scripting/editor-tools-api): Automating level building with C# editor tools: EditorTool classes, ToolButton methods, authoring scenes and prefabs with EditorScene, placement helpers, progress reporting, running tools headless in CI, and the ready-made scene-loading scripts. ## Optional - [Full documentation as one text file](https://www.krotox.com/llms-full.txt) - [Sitemap](https://www.krotox.com/sitemap.xml)