Skip to content

Introduction ​

KHIM is a platform for making and playing 3D games. You build a world in KHIM Engine, script it in Luau, and go live - from then on anyone can play it in the KHIM app on Windows, Mac and phones, or straight in the browser at khim.net.

The three pieces ​

What it isWhere
KHIM EngineThe editor: build, script, test and publish worldsDownload from khim.net (Windows and Mac)
The KHIM appWhere players play. One app for every worldWindows, Mac, Android, iOS and the browser
The WorkshopYour worlds on the website: settings, team, versions, analyticskhim.net/create

Words KHIM uses ​

WordMeans
WorldA game's file and everything in it (.khim)
UnitKHIM's length. A character is about 5 units tall
PartA block, ball, wedge or cylinder - or a MeshPart showing a 3D model
ModelA group of parts that moves and copies as one
ScriptLuau code that runs on the server and owns the game
ClientScriptLuau code that runs on each player's device: input, UI, camera
ModuleLuau code that other scripts require
Go livePublish the world so players can join it
Camera lockThe player's mode where the camera stays behind the shoulder (Shift, or the lock button on phones)

How a world is organised ​

Everything in a world lives under one of these, shown at the top of KHIM Engine's Hierarchy:

ContainerWho has itUse it for
WorldServer and every playerEverything players see and touch
ReplicationServiceServer and every player, but not in the worldModels to clone, Modules both sides use. Scripts call it shared
ServerServiceOnly the serverServer Scripts and anything secret
ClientServiceEvery playerClientScripts
StorageServiceOnly the server, and nothing in it runsModels and Modules kept for server Scripts
UIEvery playerCanvases, panels, buttons and the ClientScripts that drive them

The one rule to remember

The server decides. A ClientScript can ask for something (with net.send), but only a server Script should change health, coins, scores or anything else that matters. See Server and client.

Where to go next ​