Skip to content

VIMP developer documentation

VIMP exposes a typed JavaScript scripting runtime for authoritative server code, client-side GTA integration, and CEF user interfaces. These docs cover the current VIMP 2.x runtime.

Start here

Mental model

The server owns persistent multiplayer state. It creates networked entities and decides which players can act. Each connected client receives nearby entity state, runs client scripts, calls GTA natives, and renders CEF pages. Named events move JSON-compatible application data between these contexts.

text
server/main.js  ← custom events →  client/main.js  ← UI events →  CEF page
      │                                  │
 authoritative state             streamed GTA world

Supported authoring environments

ContextRuntimePrimary API
ServerEmbedded Node.js 22@vimp-mp/types/server
ClientVIMP JavaScript runtime@vimp-mp/types/client
CEF UIChromium page@vimp-mp/types/ui

The declaration package is development-only. Do not import runtime values from it; VIMP installs globalThis.vimp before loading your scripts.

VIMP developer documentation