Skip to content

Overview

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.

ModuleDescription
EngineEngine identity, version, and screenshot
LoggerLogging (info, warn, error, dump)
ShaderShader resource (name)
MeshVertex buffers, draw modes, and rendering
ModuleDescription
InputMouse, keyboard, modifiers, gamepads
WindowSize, fullscreen, title, design size, scale mode
ModuleDescription
GraphicsLoad shaders, create meshes, draw, view/projection, lighting, shadows, debug views
GuiFull immediate-mode GUI: windows, layouts, labels, buttons, sliders, knobs, combos, trees, charts, menus, popups, custom drawing, themes
InstancedMeshGPU-instanced rendering of many mesh copies (SSBO, up to 65K instances)
ModuleDescription
AudioGlobal audio state, volume, listener position/orientation
SourcePer-source playback, volume, pitch, 3D position, cone, attenuation
ModuleDescription
SceneScene graph root, add nodes/cameras/lights, instanced meshes, physics objects
NodeTransform hierarchy, position/rotation/scale, children, tags
CameraView/projection, FOV, planes, world/screen conversion
LightPoint, Sun, Spot, Hemi, Area; color, energy, spot/area params, shadow casting
RaycastRaycasts from point, camera, or node direction; RaycastHit
ModuleDescription
PhysicsRigid bodies, forces, impulses, velocities, gravity, simulation control, raycasts, contact events
CharacterControllerCapsule character movement with ground detection, jump, and state machine
CharacterStateState constants (IDLE, WALKING, RUNNING, JUMPING, FALLING, etc.)
ParticleEmitterPhysics-backed particle system with emission rate, burst, and instanced rendering
ModuleDescription
ConfigLoad TOML from mounted paths
ResourceCached loading (config, blend, sound)
BlendResultResult of Resource.loadBlend; classes, configs, instantiate, node custom data
ModuleDescription
AnimationStatePer-clip state, time, params, blend layers, crossfade, play/pause, events
AnimationEventNamed events and callbacks (Blender markers or custom)
AnimationPlayOptionsReverse, time offset, speed, blend weight, layer, crossfade duration, loop
AnimationBlendOptionsBlend options (reserved for future blend tree support)
ModuleDescription
MathTrig, rounding, sqrt, pow, min/max, constants (pi, e)