The Plume3D API is exposed to game scripts via Wren. All classes and methods described here are available in your game’s Wren code.
Each reference page includes return types, parameter types, descriptions, and code examples where applicable. Documented types (e.g. Num, String, Bool, List, Map, or class names like Mesh, Source) indicate the expected or returned values.
| Module | Description |
|---|
| Engine | Engine identity, version, and screenshot |
| Logger | Logging (info, warn, error, dump) |
| Shader | Shader resource (name) |
| Mesh | Vertex buffers, draw modes, and rendering |
| Module | Description |
|---|
| Input | Mouse, keyboard, modifiers, gamepads |
| Window | Size, fullscreen, title, design size, scale mode |
| Module | Description |
|---|
| Graphics | Load shaders, create meshes, draw, view/projection, lighting, shadows, debug views |
| Gui | Full immediate-mode GUI: windows, layouts, labels, buttons, sliders, knobs, combos, trees, charts, menus, popups, custom drawing, themes |
| InstancedMesh | GPU-instanced rendering of many mesh copies (SSBO, up to 65K instances) |
| Module | Description |
|---|
| Audio | Global audio state, volume, listener position/orientation |
| Source | Per-source playback, volume, pitch, 3D position, cone, attenuation |
| Module | Description |
|---|
| Scene | Scene graph root, add nodes/cameras/lights, instanced meshes, physics objects |
| Node | Transform hierarchy, position/rotation/scale, children, tags |
| Camera | View/projection, FOV, planes, world/screen conversion |
| Light | Point, Sun, Spot, Hemi, Area; color, energy, spot/area params, shadow casting |
| Raycast | Raycasts from point, camera, or node direction; RaycastHit |
| Module | Description |
|---|
| Physics | Rigid bodies, forces, impulses, velocities, gravity, simulation control, raycasts, contact events |
| CharacterController | Capsule character movement with ground detection, jump, and state machine |
| CharacterState | State constants (IDLE, WALKING, RUNNING, JUMPING, FALLING, etc.) |
| ParticleEmitter | Physics-backed particle system with emission rate, burst, and instanced rendering |
| Module | Description |
|---|
| Config | Load TOML from mounted paths |
| Resource | Cached loading (config, blend, sound) |
| BlendResult | Result of Resource.loadBlend; classes, configs, instantiate, node custom data |
| Module | Description |
|---|
| AnimationState | Per-clip state, time, params, blend layers, crossfade, play/pause, events |
| AnimationEvent | Named events and callbacks (Blender markers or custom) |
| AnimationPlayOptions | Reverse, time offset, speed, blend weight, layer, crossfade duration, loop |
| AnimationBlendOptions | Blend options (reserved for future blend tree support) |
| Module | Description |
|---|
| Math | Trig, rounding, sqrt, pow, min/max, constants (pi, e) |