# PlayCanvas Engine API > The API reference of the PlayCanvas Engine, `playcanvas` 2.23.0 on npm: its classes, interfaces, type aliases and functions by category, and its constants. Each link leads to a Markdown page with the symbol's signatures, parameters, return values and examples, and a class's page documents its members. When `playcanvas` is installed, `node_modules/playcanvas/build/playcanvas.d.ts` has the same documentation for the installed version. For guides, see the [Engine index](https://developer.playcanvas.com/user-manual/engine/llms.txt) of the User Manual. ## Start here - [AppBase](https://api.playcanvas.com/engine/classes/AppBase.md): AppBase represents the base functionality for all PlayCanvas applications. - [Entity](https://api.playcanvas.com/engine/classes/Entity.md): An Entity is the core primitive of a PlayCanvas application. - [Script](https://api.playcanvas.com/engine/classes/Script.md): The Script class is the fundamental base class for all scripts within PlayCanvas. - [Asset](https://api.playcanvas.com/engine/classes/Asset.md): An Asset is the engine's record of a single resource: a texture, a material, a glTF container, a sound, a script and... - [AssetListLoader](https://api.playcanvas.com/engine/classes/AssetListLoader.md): An AssetListLoader loads a group of assets together and reports once when every one of them has loaded or failed. - [CameraComponent](https://api.playcanvas.com/engine/classes/CameraComponent.md): The CameraComponent enables an Entity to render the scene. - [LightComponent](https://api.playcanvas.com/engine/classes/LightComponent.md): The LightComponent enables an Entity to light the scene. - [RenderComponent](https://api.playcanvas.com/engine/classes/RenderComponent.md): The RenderComponent enables an Entity to render 3D meshes. - [StandardMaterial](https://api.playcanvas.com/engine/classes/StandardMaterial.md): A standard material is the main, general purpose material that is most often used for rendering. - [GSplatComponent](https://api.playcanvas.com/engine/classes/GSplatComponent.md): The GSplatComponent enables an Entity to render 3D Gaussian Splats. - [RigidBodyComponent](https://api.playcanvas.com/engine/classes/RigidBodyComponent.md): The RigidBodyComponent, when combined with a CollisionComponent, allows your entities to be simulated using... - [Vec3](https://api.playcanvas.com/engine/classes/Vec3.md): A 3-dimensional vector. - [Constants](https://api.playcanvas.com/engine/constants.md): Every constant, grouped by prefix, with its value. ## Animation - [AnimBlendTree](https://api.playcanvas.com/engine/classes/AnimBlendTree.md): AnimBlendTrees are used to store and blend multiple AnimNodes together. - [AnimBlendTree1D](https://api.playcanvas.com/engine/classes/AnimBlendTree1D.md): An AnimBlendTree that calculates its weights using the 1D algorithm from chapter 6 of [Rune Skovbo Johansen's... - [AnimBlendTreeCartesian2D](https://api.playcanvas.com/engine/classes/AnimBlendTreeCartesian2D.md): An AnimBlendTree that calculates its weights using the 2D Cartesian algorithm from chapter 6, section 3 of [Rune... - [AnimBlendTreeDirect](https://api.playcanvas.com/engine/classes/AnimBlendTreeDirect.md): An AnimBlendTree that calculates normalized weight values based on the total weight. - [AnimBlendTreeDirectional2D](https://api.playcanvas.com/engine/classes/AnimBlendTreeDirectional2D.md): An AnimBlendTree that calculates its weights using the 2D directional algorithm from chapter 6 of [Rune Skovbo... - [AnimComponent](https://api.playcanvas.com/engine/classes/AnimComponent.md): The AnimComponent enables an Entity to play back animations on models and entity properties. - [AnimComponentLayer](https://api.playcanvas.com/engine/classes/AnimComponentLayer.md): An AnimComponentLayer is one layer of an AnimComponent. - [AnimComponentSystem](https://api.playcanvas.com/engine/classes/AnimComponentSystem.md): Manages the AnimComponents of an application and advances their state graphs each frame. - [AnimCurve](https://api.playcanvas.com/engine/classes/AnimCurve.md): Animation curve links an input data set to an output data set and defines the interpolation method to use. - [AnimData](https://api.playcanvas.com/engine/classes/AnimData.md): Wraps a set of data used in animation: a flat data array read components values at a time, so a three-component set... - [AnimEvents](https://api.playcanvas.com/engine/classes/AnimEvents.md): AnimEvents stores a sorted array of animation events which should fire sequentially during the playback of an AnimTrack. - [AnimNode](https://api.playcanvas.com/engine/classes/AnimNode.md): AnimNodes are used to represent a single animation track in the current state. - [AnimState](https://api.playcanvas.com/engine/classes/AnimState.md): Defines a single state that the controller can be in. - [AnimStateGraph](https://api.playcanvas.com/engine/classes/AnimStateGraph.md): An asset resource which represents an anim state graph. - [AnimTrack](https://api.playcanvas.com/engine/classes/AnimTrack.md): An AnimTrack stores the curve data necessary to animate a set of target nodes. - [AnimTransition](https://api.playcanvas.com/engine/classes/AnimTransition.md): AnimTransitions represent connections in the controllers state graph between AnimStates. ## Animation (Legacy) - [Animation](https://api.playcanvas.com/engine/classes/Animation.md): An Animation contains the data that defines how a Skeleton animates over time. - [AnimationComponent](https://api.playcanvas.com/engine/classes/AnimationComponent.md): The AnimationComponent enables an Entity to play back skeletal animations on a model. - [AnimationComponentSystem](https://api.playcanvas.com/engine/classes/AnimationComponentSystem.md): Manages the AnimationComponents of an application, the legacy animation system. - [AnimationNode](https://api.playcanvas.com/engine/classes/AnimationNode.md): AnimationNode represents an array of keyframes that animate the transform of a GraphNode over time. - [Skeleton](https://api.playcanvas.com/engine/classes/Skeleton.md): Represents a skeleton used to play animations. ## Asset - [AnimationHandler](https://api.playcanvas.com/engine/classes/AnimationHandler.md): Resource handler for the animation asset type. - [Asset](https://api.playcanvas.com/engine/classes/Asset.md): An Asset is the engine's record of a single resource: a texture, a material, a glTF container, a sound, a script and... - [AssetListLoader](https://api.playcanvas.com/engine/classes/AssetListLoader.md): An AssetListLoader loads a group of assets together and reports once when every one of them has loaded or failed. - [AssetReference](https://api.playcanvas.com/engine/classes/AssetReference.md): An AssetReference follows a single asset slot on behalf of its owner, such as the texture property of a component,... - [AssetRegistry](https://api.playcanvas.com/engine/classes/AssetRegistry.md): The AssetRegistry holds every Asset an application knows about and drives their loading through the ResourceLoader. - [AudioHandler](https://api.playcanvas.com/engine/classes/AudioHandler.md): Resource handler for the audio asset type. - [ContainerHandler](https://api.playcanvas.com/engine/classes/ContainerHandler.md): Resource handler for the container asset type. - [CubemapHandler](https://api.playcanvas.com/engine/classes/CubemapHandler.md): Resource handler for the cubemap asset type. - [FontHandler](https://api.playcanvas.com/engine/classes/FontHandler.md): Resource handler for the font asset type. - [MaterialHandler](https://api.playcanvas.com/engine/classes/MaterialHandler.md): Resource handler for the material asset type. - [ModelHandler](https://api.playcanvas.com/engine/classes/ModelHandler.md): Resource handler for the model asset type. - [RenderHandler](https://api.playcanvas.com/engine/classes/RenderHandler.md): Resource handler for the render asset type. - [ResourceHandler](https://api.playcanvas.com/engine/classes/ResourceHandler.md): A ResourceHandler loads and opens resources of one asset type on behalf of the ResourceLoader. - [ResourceLoader](https://api.playcanvas.com/engine/classes/ResourceLoader.md): The ResourceLoader turns a URL and an asset type into a loaded resource. - [SceneHandler](https://api.playcanvas.com/engine/classes/SceneHandler.md): Resource handler for the scene asset type. - [ScriptHandler](https://api.playcanvas.com/engine/classes/ScriptHandler.md): Resource handler for loading JavaScript files dynamically. - [SpriteHandler](https://api.playcanvas.com/engine/classes/SpriteHandler.md): Resource handler for the sprite asset type. - [TextureAtlasHandler](https://api.playcanvas.com/engine/classes/TextureAtlasHandler.md): Resource handler for the textureatlas asset type. - [TextureHandler](https://api.playcanvas.com/engine/classes/TextureHandler.md): Resource handler for the texture asset type. ## Debug - [MiniStats](https://api.playcanvas.com/engine/classes/MiniStats.md): MiniStats is a small graphical overlay that displays realtime performance metrics. - [Tracing](https://api.playcanvas.com/engine/classes/Tracing.md): Log tracing functionality, allowing for tracing of the internal functionality of the engine. ## Exporter - [GltfExporter](https://api.playcanvas.com/engine/classes/GltfExporter.md): Implementation of the GLTF 2.0 format exporter. - [UsdzExporter](https://api.playcanvas.com/engine/classes/UsdzExporter.md): Implementation of the USDZ format exporter. ## Framework - [AppBase](https://api.playcanvas.com/engine/classes/AppBase.md): AppBase represents the base functionality for all PlayCanvas applications. - [Application](https://api.playcanvas.com/engine/classes/Application.md): Application is a subclass of AppBase, which represents the base functionality for all PlayCanvas applications. - [AppOptions](https://api.playcanvas.com/engine/classes/AppOptions.md): AppOptions holds configuration settings utilized in the creation of an AppBase instance. - [AppStats](https://api.playcanvas.com/engine/classes/AppStats.md): Performance statistics for an application, accessed through AppBase#stats. - [Component](https://api.playcanvas.com/engine/classes/Component.md): Components are used to attach functionality on a Entity. - [ComponentSystem](https://api.playcanvas.com/engine/classes/ComponentSystem.md): Component Systems contain the logic and functionality to update all Components of a particular type. - [ComponentSystemRegistry](https://api.playcanvas.com/engine/classes/ComponentSystemRegistry.md): The ComponentSystemRegistry manages the instances of an application's ComponentSystems. - [Entity](https://api.playcanvas.com/engine/classes/Entity.md): An Entity is the core primitive of a PlayCanvas application. - [EventHandle](https://api.playcanvas.com/engine/classes/EventHandle.md): Event Handle that is created by EventHandler and can be used for easier event removal and management. - [EventHandler](https://api.playcanvas.com/engine/classes/EventHandler.md): Abstract base class that implements functionality for event handling. - [GraphNode](https://api.playcanvas.com/engine/classes/GraphNode.md): A GraphNode is a node in the scene graph: a named object with a position, rotation and scale, and a list of children... - [Http](https://api.playcanvas.com/engine/classes/Http.md): Used to send and receive HTTP requests. - [I18n](https://api.playcanvas.com/engine/classes/I18n.md): Handles localization. - [RefCountedObject](https://api.playcanvas.com/engine/classes/RefCountedObject.md): Base class that implements reference counting for objects. - [Tags](https://api.playcanvas.com/engine/classes/Tags.md): Tags is a powerful tag management system for categorizing and filtering objects in PlayCanvas applications. - [Template](https://api.playcanvas.com/engine/classes/Template.md): Create a Template resource from raw database data. - [WasmModule](https://api.playcanvas.com/engine/classes/WasmModule.md): A pure static utility class which supports immediate and lazy loading of... ## Gizmo - [Gizmo](https://api.playcanvas.com/engine/classes/Gizmo.md): The base class for all gizmos. - [RotateGizmo](https://api.playcanvas.com/engine/classes/RotateGizmo.md): The RotateGizmo provides interactive 3D manipulation handles for rotating/reorienting Entitys in a Scene. - [ScaleGizmo](https://api.playcanvas.com/engine/classes/ScaleGizmo.md): The ScaleGizmo provides interactive 3D manipulation handles for scaling/resizing Entitys in a Scene. - [TransformGizmo](https://api.playcanvas.com/engine/classes/TransformGizmo.md): The base class for all transform gizmos. - [TranslateGizmo](https://api.playcanvas.com/engine/classes/TranslateGizmo.md): The TranslateGizmo provides interactive 3D manipulation handles for translating/moving Entitys in a Scene. ## Graphics - [Batch](https://api.playcanvas.com/engine/classes/Batch.md): Holds information about batched mesh instances. - [BatchGroup](https://api.playcanvas.com/engine/classes/BatchGroup.md): Holds mesh batching settings and a unique id. - [BatchManager](https://api.playcanvas.com/engine/classes/BatchManager.md): Glues many mesh instances into a single one for better performance. - [BindBaseFormat](https://api.playcanvas.com/engine/classes/BindBaseFormat.md): A base class to describe the format of the resource for BindGroupFormat. - [BindGroupFormat](https://api.playcanvas.com/engine/classes/BindGroupFormat.md): BindGroupFormat is a data structure that defines the layout of resources (buffers, textures, samplers) used by... - [BindStorageBufferFormat](https://api.playcanvas.com/engine/classes/BindStorageBufferFormat.md): A class to describe the format of the storage buffer for BindGroupFormat. - [BindStorageTextureFormat](https://api.playcanvas.com/engine/classes/BindStorageTextureFormat.md): A class to describe the format of the storage texture for BindGroupFormat. - [BindTextureFormat](https://api.playcanvas.com/engine/classes/BindTextureFormat.md): A class to describe the format of the texture for BindGroupFormat. - [BindUniformBufferFormat](https://api.playcanvas.com/engine/classes/BindUniformBufferFormat.md): A class to describe the format of the uniform buffer for BindGroupFormat. - [BlendState](https://api.playcanvas.com/engine/classes/BlendState.md): BlendState is a descriptor that defines how output of fragment shader is written and blended into render target. - [BoxGeometry](https://api.playcanvas.com/engine/classes/BoxGeometry.md): A procedural box-shaped geometry. - [CameraComponent](https://api.playcanvas.com/engine/classes/CameraComponent.md): The CameraComponent enables an Entity to render the scene. - [CameraComponentSystem](https://api.playcanvas.com/engine/classes/CameraComponentSystem.md): Used to add and remove CameraComponents from Entities. - [CameraFrame](https://api.playcanvas.com/engine/classes/CameraFrame.md): Implementation of a simple to use camera rendering pass, which supports SSAO, Bloom and other rendering effects. - [CapsuleGeometry](https://api.playcanvas.com/engine/classes/CapsuleGeometry.md): A procedural capsule-shaped geometry. - [CircleGeometry](https://api.playcanvas.com/engine/classes/CircleGeometry.md): A procedural circle-shaped geometry - a flat disc in the XZ plane. - [Compute](https://api.playcanvas.com/engine/classes/Compute.md): A representation of a compute shader with the associated resources, that can be executed on the GPU. - [ConeBaseGeometry](https://api.playcanvas.com/engine/classes/ConeBaseGeometry.md): Shared superclass of CapsuleGeometry, ConeGeometry and CylinderGeometry. - [ConeGeometry](https://api.playcanvas.com/engine/classes/ConeGeometry.md): A procedural cone-shaped geometry. - [ContainerResource](https://api.playcanvas.com/engine/classes/ContainerResource.md): Container for a list of animations, textures, materials, renders, gsplats and a model. - [CylinderGeometry](https://api.playcanvas.com/engine/classes/CylinderGeometry.md): A procedural cylinder-shaped geometry. - [DepthState](https://api.playcanvas.com/engine/classes/DepthState.md): DepthState is a descriptor that defines how the depth value of the fragment is used by the rendering pipeline. - [DomeGeometry](https://api.playcanvas.com/engine/classes/DomeGeometry.md): A procedural dome-shaped geometry. - [DrawCommands](https://api.playcanvas.com/engine/classes/DrawCommands.md): Container holding parameters for multi-draw commands. - [FogParams](https://api.playcanvas.com/engine/classes/FogParams.md): Fog parameters. - [Geometry](https://api.playcanvas.com/engine/classes/Geometry.md): The Geometry class serves as a container for storing geometric information. - [GraphicsDevice](https://api.playcanvas.com/engine/classes/GraphicsDevice.md): The graphics device manages the underlying graphics context. - [GSplatComponent](https://api.playcanvas.com/engine/classes/GSplatComponent.md): The GSplatComponent enables an Entity to render 3D Gaussian Splats. - [GSplatComponentSystem](https://api.playcanvas.com/engine/classes/GSplatComponentSystem.md): Manages the GSplatComponents of an application. - [GSplatContainer](https://api.playcanvas.com/engine/classes/GSplatContainer.md): A container for procedural Gaussian Splat data. - [GSplatFormat](https://api.playcanvas.com/engine/classes/GSplatFormat.md): Gsplat resources store per-splat data (positions, colors, rotations, scales, spherical harmonics) in GPU textures. - [GSplatParams](https://api.playcanvas.com/engine/classes/GSplatParams.md): Parameters for the GSplat system. - [GSplatProcessor](https://api.playcanvas.com/engine/classes/GSplatProcessor.md): GSplatProcessor enables GPU-based processing of Gaussian Splat data using custom shader code. - [GSplatVaryings](https://api.playcanvas.com/engine/classes/GSplatVaryings.md): Manages custom varying streams for the gsplat render customization. - [ImgParser](https://api.playcanvas.com/engine/classes/ImgParser.md): Parser for browser-supported image formats. - [IndexBuffer](https://api.playcanvas.com/engine/classes/IndexBuffer.md): An index buffer stores index values into a VertexBuffer. - [Layer](https://api.playcanvas.com/engine/classes/Layer.md): A Layer represents a renderable subset of the scene. - [LayerComposition](https://api.playcanvas.com/engine/classes/LayerComposition.md): Layer Composition is a collection of Layer that is fed to Scene#layers to define rendering order. - [LightComponent](https://api.playcanvas.com/engine/classes/LightComponent.md): The LightComponent enables an Entity to light the scene. - [LightComponentSystem](https://api.playcanvas.com/engine/classes/LightComponentSystem.md): Manages the LightComponents of an application. - [LightingParams](https://api.playcanvas.com/engine/classes/LightingParams.md): Lighting parameters, allow configuration of the global lighting parameters. - [Lightmapper](https://api.playcanvas.com/engine/classes/Lightmapper.md): The lightmapper is used to bake scene lights into textures. - [LitShaderOptions](https://api.playcanvas.com/engine/classes/LitShaderOptions.md): The lit shader options determines how the lit-shader gets generated. - [Material](https://api.playcanvas.com/engine/classes/Material.md): A material determines how a particular MeshInstance is rendered, and specifies render state including uniforms,... - [Mesh](https://api.playcanvas.com/engine/classes/Mesh.md): A graphical primitive. - [MeshInstance](https://api.playcanvas.com/engine/classes/MeshInstance.md): An instance of a Mesh. - [Model](https://api.playcanvas.com/engine/classes/Model.md): A model is a graphical object that can be added to or removed from a scene. - [ModelComponent](https://api.playcanvas.com/engine/classes/ModelComponent.md): The ModelComponent enables an Entity to render 3D models. - [ModelComponentSystem](https://api.playcanvas.com/engine/classes/ModelComponentSystem.md): Allows an Entity to render a model or a primitive shape like a box, capsule, sphere, cylinder, cone etc. - [Morph](https://api.playcanvas.com/engine/classes/Morph.md): Contains a list of MorphTargets, a combined delta AABB and some associated data. - [MorphInstance](https://api.playcanvas.com/engine/classes/MorphInstance.md): An instance of Morph. - [MorphTarget](https://api.playcanvas.com/engine/classes/MorphTarget.md): A Morph Target (also known as Blend Shape) contains deformation data to apply to existing mesh. - [OutlineRenderer](https://api.playcanvas.com/engine/classes/OutlineRenderer.md): The OutlineRenderer draws solid color outlines around the silhouettes of entities, for example to highlight objects... - [ParticleSystemComponent](https://api.playcanvas.com/engine/classes/ParticleSystemComponent.md): The ParticleSystemComponent enables an Entity to simulate particles and produce a renderable particle mesh on either... - [ParticleSystemComponentSystem](https://api.playcanvas.com/engine/classes/ParticleSystemComponentSystem.md): Manages the ParticleSystemComponents of an application. - [Picker](https://api.playcanvas.com/engine/classes/Picker.md): Picker object used to select mesh instances from screen coordinates. - [PlaneGeometry](https://api.playcanvas.com/engine/classes/PlaneGeometry.md): A procedural plane-shaped geometry. - [PostEffect](https://api.playcanvas.com/engine/classes/PostEffect.md): Base class for all post effects. - [PostEffectQueue](https://api.playcanvas.com/engine/classes/PostEffectQueue.md): Used to manage multiple post effects for a camera. - [QuadRender](https://api.playcanvas.com/engine/classes/QuadRender.md): An object that renders a quad using a Shader. - [RenderComponent](https://api.playcanvas.com/engine/classes/RenderComponent.md): The RenderComponent enables an Entity to render 3D meshes. - [RenderComponentSystem](https://api.playcanvas.com/engine/classes/RenderComponentSystem.md): Allows an Entity to render a mesh or a primitive shape like a box, capsule, sphere, cylinder, cone etc. - [RenderTarget](https://api.playcanvas.com/engine/classes/RenderTarget.md): A render target is a rectangular rendering surface that can be rendered into, instead of the screen. - [RenderView](https://api.playcanvas.com/engine/classes/RenderView.md): Represents a single view of the scene - a region of the render target rendered from a single viewpoint. - [Scene](https://api.playcanvas.com/engine/classes/Scene.md): A scene is a graphical representation of an environment. - [SceneDepthReader](https://api.playcanvas.com/engine/classes/SceneDepthReader.md): Reads the scene depth of a camera back to the CPU. - [SceneRegistry](https://api.playcanvas.com/engine/classes/SceneRegistry.md): Container for storing and loading of scenes. - [SceneRegistryItem](https://api.playcanvas.com/engine/classes/SceneRegistryItem.md): Item to be stored in the SceneRegistry. - [ScopeId](https://api.playcanvas.com/engine/classes/ScopeId.md): The scope for a variable. - [ScopeSpace](https://api.playcanvas.com/engine/classes/ScopeSpace.md): The scope for variables. - [Shader](https://api.playcanvas.com/engine/classes/Shader.md): A shader is a program that is responsible for rendering graphical primitives on a device's graphics processor. - [ShaderChunkMap](https://api.playcanvas.com/engine/classes/ShaderChunkMap.md): A collection of shader chunks, used by ShaderChunks. - [ShaderChunks](https://api.playcanvas.com/engine/classes/ShaderChunks.md): A collection of GLSL and WGSL shader chunks, used to generate shaders. - [ShaderMaterial](https://api.playcanvas.com/engine/classes/ShaderMaterial.md): A ShaderMaterial is a type of material that utilizes a specified shader for rendering purposes. - [ShaderUtils](https://api.playcanvas.com/engine/classes/ShaderUtils.md): Utility class for creating shaders. - [Skin](https://api.playcanvas.com/engine/classes/Skin.md): A skin contains data about the bones in a hierarchy that drive a skinned mesh animation. - [SkinInstance](https://api.playcanvas.com/engine/classes/SkinInstance.md): A skin instance is responsible for generating the matrix palette that is used to skin vertices from object space to... - [Sky](https://api.playcanvas.com/engine/classes/Sky.md): Implementation of the sky. - [SphereGeometry](https://api.playcanvas.com/engine/classes/SphereGeometry.md): A procedural sphere-shaped geometry. - [Sprite](https://api.playcanvas.com/engine/classes/Sprite.md): A Sprite contains references to one or more frames of a TextureAtlas. - [SpriteAnimationClip](https://api.playcanvas.com/engine/classes/SpriteAnimationClip.md): Handles playing of sprite animations and loading of relevant sprite assets. - [SpriteComponent](https://api.playcanvas.com/engine/classes/SpriteComponent.md): The SpriteComponent enables an Entity to render a simple static sprite or sprite animations. - [SpriteComponentSystem](https://api.playcanvas.com/engine/classes/SpriteComponentSystem.md): Manages the SpriteComponents of an application. - [StandardMaterial](https://api.playcanvas.com/engine/classes/StandardMaterial.md): A standard material is the main, general purpose material that is most often used for rendering. - [StandardMaterialOptions](https://api.playcanvas.com/engine/classes/StandardMaterialOptions.md): The standard material options define a set of options used to control the shader frontend shader generation, such as... - [StencilParameters](https://api.playcanvas.com/engine/classes/StencilParameters.md): Holds stencil test settings. - [StorageBuffer](https://api.playcanvas.com/engine/classes/StorageBuffer.md): A storage buffer represents a memory which both the CPU and the GPU can access. - [Texture](https://api.playcanvas.com/engine/classes/Texture.md): Represents a texture, which is typically an image composed of pixels (texels). - [TextureAtlas](https://api.playcanvas.com/engine/classes/TextureAtlas.md): A TextureAtlas contains a number of frames from a texture. - [TextureParser](https://api.playcanvas.com/engine/classes/TextureParser.md): Interface to a texture parser. - [TextureRenderer](https://api.playcanvas.com/engine/classes/TextureRenderer.md): Displays textures for a single frame, for debugging. - [TextureView](https://api.playcanvas.com/engine/classes/TextureView.md): A TextureView specifies a texture and a subset of its mip levels and array layers. - [TorusGeometry](https://api.playcanvas.com/engine/classes/TorusGeometry.md): A procedural torus-shaped geometry. - [TransformFeedback](https://api.playcanvas.com/engine/classes/TransformFeedback.md): This object allows you to configure and use the transform feedback feature (WebGL2 only). - [UniformBufferFormat](https://api.playcanvas.com/engine/classes/UniformBufferFormat.md): A descriptor that defines the layout of data inside the uniform buffer. - [UniformFormat](https://api.playcanvas.com/engine/classes/UniformFormat.md): A class storing description of an individual uniform, stored inside a uniform buffer. - [VertexBuffer](https://api.playcanvas.com/engine/classes/VertexBuffer.md): A vertex buffer is the mechanism via which the application specifies vertex data to the graphics hardware. - [VertexFormat](https://api.playcanvas.com/engine/classes/VertexFormat.md): A vertex format is a descriptor that defines the layout of vertex data inside a VertexBuffer. - [VertexIterator](https://api.playcanvas.com/engine/classes/VertexIterator.md): A vertex iterator simplifies the process of writing vertex data to a vertex buffer. - [WebglGraphicsDevice](https://api.playcanvas.com/engine/classes/WebglGraphicsDevice.md): WebglGraphicsDevice extends the base GraphicsDevice to provide rendering capabilities utilizing the WebGL 2.0... - [WideLine](https://api.playcanvas.com/engine/classes/WideLine.md): A connected, variable-width line rendered by a WideLineRenderer. - [WideLineRenderer](https://api.playcanvas.com/engine/classes/WideLineRenderer.md): Renders a collection of WideLine objects using a single instanced draw call per camera/layer pass. - [WireRenderer](https://api.playcanvas.com/engine/classes/WireRenderer.md): Renders wireframe shapes for a single frame, for debugging and visualization. - [calculateNormals](https://api.playcanvas.com/engine/functions/calculateNormals.md): Generates normal information from the specified positions and triangle indices. - [calculateTangents](https://api.playcanvas.com/engine/functions/calculateTangents.md): Generates tangent information from the specified positions, normals, texture coordinates and triangle indices. - [createGraphicsDevice](https://api.playcanvas.com/engine/functions/createGraphicsDevice.md): Creates a graphics device. - [drawQuadWithShader](https://api.playcanvas.com/engine/functions/drawQuadWithShader.md): Draws a screen-space quad using a specific shader. - [reprojectTexture](https://api.playcanvas.com/engine/functions/reprojectTexture.md): This function reprojects textures between cubemap, equirectangular and octahedral formats. - [PIXELFORMAT_ASTC_4x4](https://api.playcanvas.com/engine/variables/PIXELFORMAT_ASTC_4x4.md): ATC compressed format with alpha channel in blocks of 4x4. - [PIXELFORMAT_ASTC_4x4_SRGB](https://api.playcanvas.com/engine/variables/PIXELFORMAT_ASTC_4x4_SRGB.md): Format equivalent to PIXELFORMAT_ASTC_4x4 but sampled in linear color space. ## Input - [DualGestureSource](https://api.playcanvas.com/engine/classes/DualGestureSource.md): Dual gesture input source. - [FlyController](https://api.playcanvas.com/engine/classes/FlyController.md): The fly controller. - [FocusController](https://api.playcanvas.com/engine/classes/FocusController.md): The focus controller. - [GamepadSource](https://api.playcanvas.com/engine/classes/GamepadSource.md): Game pad input source class. - [InputConsumer](https://api.playcanvas.com/engine/classes/InputConsumer.md): The base class for all input consumers, which are used to process input frames. - [InputController](https://api.playcanvas.com/engine/classes/InputController.md): The base class for all input controllers. - [InputDelta](https://api.playcanvas.com/engine/classes/InputDelta.md): Represents an input delta: a fixed-length array of numbers that accumulates input between reads. - [InputFrame](https://api.playcanvas.com/engine/classes/InputFrame.md): Represents an input frame, which contains a map of input deltas. - [InputSource](https://api.playcanvas.com/engine/classes/InputSource.md): The base class for all input devices. - [KeyboardMouseSource](https://api.playcanvas.com/engine/classes/KeyboardMouseSource.md): Keyboard and mouse input source class. - [MultiTouchSource](https://api.playcanvas.com/engine/classes/MultiTouchSource.md): Multi-touch input source class. - [OrbitController](https://api.playcanvas.com/engine/classes/OrbitController.md): The orbit controller. - [Pose](https://api.playcanvas.com/engine/classes/Pose.md): Represents a pose in 3D space, including position and rotation. - [SingleGestureSource](https://api.playcanvas.com/engine/classes/SingleGestureSource.md): Single gesture input source. ## Input Devices - [GamePad](https://api.playcanvas.com/engine/classes/GamePad.md): A GamePad stores information about a gamepad from the Gamepad API. - [GamePadButton](https://api.playcanvas.com/engine/classes/GamePadButton.md): A GamePadButton stores information about a button from the Gamepad API. - [GamePads](https://api.playcanvas.com/engine/classes/GamePads.md): Input handler for accessing GamePad input. - [Keyboard](https://api.playcanvas.com/engine/classes/Keyboard.md): Manages keyboard input by tracking key states and dispatching events. - [KeyboardEvent](https://api.playcanvas.com/engine/classes/KeyboardEvent.md): The KeyboardEvent is passed into all event handlers registered on the Keyboard. - [Mouse](https://api.playcanvas.com/engine/classes/Mouse.md): Manages mouse input by tracking button states and dispatching events. - [MouseEvent](https://api.playcanvas.com/engine/classes/MouseEvent.md): The MouseEvent object is passed into all event handlers registered on the Mouse. - [Touch](https://api.playcanvas.com/engine/classes/Touch.md): A instance of a single point touch on a TouchDevice. - [TouchDevice](https://api.playcanvas.com/engine/classes/TouchDevice.md): Manages touch input by handling and dispatching touch events. - [TouchEvent](https://api.playcanvas.com/engine/classes/TouchEvent.md): The TouchEvent object is passed into all event handlers registered on the TouchDevice. - [getTouchTargetCoords](https://api.playcanvas.com/engine/functions/getTouchTargetCoords.md): This function takes a browser Touch object and returns the coordinates of the touch relative to the target DOM element. ## Math - [BoundingBox](https://api.playcanvas.com/engine/classes/BoundingBox.md): Axis-Aligned Bounding Box. - [BoundingSphere](https://api.playcanvas.com/engine/classes/BoundingSphere.md): A bounding sphere is a volume for facilitating fast intersection testing. - [Color](https://api.playcanvas.com/engine/classes/Color.md): An RGBA color. - [Curve](https://api.playcanvas.com/engine/classes/Curve.md): A curve is a collection of keys (time/value pairs). - [CurveSet](https://api.playcanvas.com/engine/classes/CurveSet.md): A curve set is a collection of curves that share a time axis and are evaluated together, such as the three channels... - [FloatPacking](https://api.playcanvas.com/engine/classes/FloatPacking.md): Utility static class providing functionality to pack float values to various storage representations. - [Frustum](https://api.playcanvas.com/engine/classes/Frustum.md): A frustum is a shape that defines the viewing space of a camera. - [Kernel](https://api.playcanvas.com/engine/classes/Kernel.md): Sampling kernels: sets of 2D offsets, generated on demand, used to take several samples around a point, as blur,... - [Mat3](https://api.playcanvas.com/engine/classes/Mat3.md): A 3x3 matrix. - [Mat4](https://api.playcanvas.com/engine/classes/Mat4.md): A 4x4 matrix. - [OrientedBox](https://api.playcanvas.com/engine/classes/OrientedBox.md): An oriented bounding box is a box that can be rotated and translated in 3D space. - [Plane](https://api.playcanvas.com/engine/classes/Plane.md): An infinite plane. - [Quat](https://api.playcanvas.com/engine/classes/Quat.md): A quaternion representing rotation in 3D space. - [Ray](https://api.playcanvas.com/engine/classes/Ray.md): An infinite ray. - [Tri](https://api.playcanvas.com/engine/classes/Tri.md): A triangle defined by three Vec3 vectors. - [Vec2](https://api.playcanvas.com/engine/classes/Vec2.md): A 2-dimensional vector. - [Vec3](https://api.playcanvas.com/engine/classes/Vec3.md): A 3-dimensional vector. - [Vec4](https://api.playcanvas.com/engine/classes/Vec4.md): A 4-dimensional vector. - [math](https://api.playcanvas.com/engine/modules/math.md): Math API. ## Physics - [AmmoPhysicsWorld](https://api.playcanvas.com/engine/classes/AmmoPhysicsWorld.md): The Ammo.js (Bullet) physics backend. - [CollisionComponent](https://api.playcanvas.com/engine/classes/CollisionComponent.md): The CollisionComponent enables an Entity to act as a collision volume. - [CollisionComponentSystem](https://api.playcanvas.com/engine/classes/CollisionComponentSystem.md): Manages the CollisionComponents of an application. - [ContactPoint](https://api.playcanvas.com/engine/classes/ContactPoint.md): Represents a single point of contact between two colliding rigid bodies in the physics simulation. - [ContactResult](https://api.playcanvas.com/engine/classes/ContactResult.md): Represents a collection of contact points between two entities in a physics collision. - [JointComponent](https://api.playcanvas.com/engine/classes/JointComponent.md): The JointComponent constrains the relative motion of two rigid bodies. - [JointComponentSystem](https://api.playcanvas.com/engine/classes/JointComponentSystem.md): Manages the JointComponents of an application. - [NullPhysicsWorld](https://api.playcanvas.com/engine/classes/NullPhysicsWorld.md): A no-op physics backend. - [PhysicsWorld](https://api.playcanvas.com/engine/classes/PhysicsWorld.md): The base class for physics backends. - [RaycastResult](https://api.playcanvas.com/engine/classes/RaycastResult.md): Contains the result of a successful raycast intersection with a rigid body. - [RigidBodyComponent](https://api.playcanvas.com/engine/classes/RigidBodyComponent.md): The RigidBodyComponent, when combined with a CollisionComponent, allows your entities to be simulated using... - [RigidBodyComponentSystem](https://api.playcanvas.com/engine/classes/RigidBodyComponentSystem.md): The RigidBodyComponentSystem manages the physics simulation for all rigid body components in the application and is... - [SingleContactResult](https://api.playcanvas.com/engine/classes/SingleContactResult.md): Represents the detailed data of a single contact point between two rigid bodies in the physics simulation. - [Trigger](https://api.playcanvas.com/engine/classes/Trigger.md): Creates a trigger object used to create internal physics objects that interact with rigid bodies and trigger... ## Script - [Script](https://api.playcanvas.com/engine/classes/Script.md): The Script class is the fundamental base class for all scripts within PlayCanvas. - [ScriptAttributes](https://api.playcanvas.com/engine/classes/ScriptAttributes.md): Container of Script Attribute definitions. - [ScriptComponent](https://api.playcanvas.com/engine/classes/ScriptComponent.md): The ScriptComponent enables an Entity to have custom behavior by attaching scripts written in JavaScript (or... - [ScriptComponentSystem](https://api.playcanvas.com/engine/classes/ScriptComponentSystem.md): Manages the ScriptComponents of an application. - [ScriptRegistry](https://api.playcanvas.com/engine/classes/ScriptRegistry.md): Container for all Script classes that are available to this application. - [ScriptType](https://api.playcanvas.com/engine/classes/ScriptType.md): This is the legacy format for creating a PlayCanvas script returned when calling createScript(). (deprecated) - [createScript](https://api.playcanvas.com/engine/functions/createScript.md): Create and register a new ScriptType. - [registerScript](https://api.playcanvas.com/engine/functions/registerScript.md): Register an existing class type as a Script Type with ScriptRegistry. - [script](https://api.playcanvas.com/engine/modules/script.md): The script namespace holds the createLoadingScreen function that is used to override the default PlayCanvas loading... ## Sound - [AudioListenerComponent](https://api.playcanvas.com/engine/classes/AudioListenerComponent.md): The AudioListenerComponent enables an Entity to represent the point from where positional SoundComponents are heard. - [AudioListenerComponentSystem](https://api.playcanvas.com/engine/classes/AudioListenerComponentSystem.md): Manages the AudioListenerComponents of an application. - [Sound](https://api.playcanvas.com/engine/classes/Sound.md): Represents the raw audio data of a playable sound. - [SoundComponent](https://api.playcanvas.com/engine/classes/SoundComponent.md): The SoundComponent enables an Entity to play audio. - [SoundComponentSystem](https://api.playcanvas.com/engine/classes/SoundComponentSystem.md): Manages the SoundComponents of an application. - [SoundInstance](https://api.playcanvas.com/engine/classes/SoundInstance.md): A SoundInstance plays a Sound. - [SoundInstance3d](https://api.playcanvas.com/engine/classes/SoundInstance3d.md): A SoundInstance3d plays a Sound in 3D. - [SoundManager](https://api.playcanvas.com/engine/classes/SoundManager.md): The SoundManager is used to load and play audio. - [SoundSlot](https://api.playcanvas.com/engine/classes/SoundSlot.md): The SoundSlot controls the playback of SoundInstances. ## User Interface - [ButtonComponent](https://api.playcanvas.com/engine/classes/ButtonComponent.md): The ButtonComponent enables an Entity to behave like a button, with different visual states for hover and press... - [ButtonComponentSystem](https://api.playcanvas.com/engine/classes/ButtonComponentSystem.md): Manages the ButtonComponents of an application. - [ElementComponent](https://api.playcanvas.com/engine/classes/ElementComponent.md): ElementComponents are used to construct user interfaces. - [ElementComponentSystem](https://api.playcanvas.com/engine/classes/ElementComponentSystem.md): Manages the ElementComponents of an application. - [ElementDragHelper](https://api.playcanvas.com/engine/classes/ElementDragHelper.md): Helper class that makes it easy to create Elements that can be dragged by the mouse or touch. - [ElementInput](https://api.playcanvas.com/engine/classes/ElementInput.md): Handles mouse and touch events for ElementComponents. - [ElementInputEvent](https://api.playcanvas.com/engine/classes/ElementInputEvent.md): Represents an input event fired on a ElementComponent. - [ElementMouseEvent](https://api.playcanvas.com/engine/classes/ElementMouseEvent.md): Represents a Mouse event fired on a ElementComponent. - [ElementSelectEvent](https://api.playcanvas.com/engine/classes/ElementSelectEvent.md): Represents a XRInputSourceEvent fired on a ElementComponent. - [ElementTouchEvent](https://api.playcanvas.com/engine/classes/ElementTouchEvent.md): Represents a TouchEvent fired on a ElementComponent. - [Font](https://api.playcanvas.com/engine/classes/Font.md): Represents the resource of a font asset. - [LayoutChildComponent](https://api.playcanvas.com/engine/classes/LayoutChildComponent.md): The LayoutChildComponent enables an Entity to control the sizing and fitting behavior applied to it by its parent... - [LayoutChildComponentSystem](https://api.playcanvas.com/engine/classes/LayoutChildComponentSystem.md): Manages the LayoutChildComponents of an application. - [LayoutGroupComponent](https://api.playcanvas.com/engine/classes/LayoutGroupComponent.md): The LayoutGroupComponent enables an Entity to position and scale its child ElementComponents according to... - [LayoutGroupComponentSystem](https://api.playcanvas.com/engine/classes/LayoutGroupComponentSystem.md): Manages the LayoutGroupComponents of an application. - [ScreenComponent](https://api.playcanvas.com/engine/classes/ScreenComponent.md): A ScreenComponent defines a rectangular area where user interfaces can be constructed. - [ScreenComponentSystem](https://api.playcanvas.com/engine/classes/ScreenComponentSystem.md): Manages the ScreenComponents of an application. - [ScrollbarComponent](https://api.playcanvas.com/engine/classes/ScrollbarComponent.md): The ScrollbarComponent enables an Entity to behave like a draggable scrollbar. - [ScrollbarComponentSystem](https://api.playcanvas.com/engine/classes/ScrollbarComponentSystem.md): Manages the ScrollbarComponents of an application. - [ScrollViewComponent](https://api.playcanvas.com/engine/classes/ScrollViewComponent.md): The ScrollViewComponent enables an Entity to behave like a masked scrolling area, with optional horizontal and... - [ScrollViewComponentSystem](https://api.playcanvas.com/engine/classes/ScrollViewComponentSystem.md): Manages the ScrollViewComponents of an application. ## XR - [XrAnchor](https://api.playcanvas.com/engine/classes/XrAnchor.md): An anchor keeps track of a position and rotation that is fixed relative to the real world. - [XrAnchors](https://api.playcanvas.com/engine/classes/XrAnchors.md): Anchors provide an ability to specify a point in the world that needs to be updated to correctly reflect the... - [XrDomOverlay](https://api.playcanvas.com/engine/classes/XrDomOverlay.md): DOM Overlay provides the ability to use DOM elements as an overlay in a WebXR AR session. - [XrFinger](https://api.playcanvas.com/engine/classes/XrFinger.md): Represents a finger of a tracked XrHand with related joints and index. - [XrHand](https://api.playcanvas.com/engine/classes/XrHand.md): Represents a hand with fingers and joints. - [XrHitTest](https://api.playcanvas.com/engine/classes/XrHitTest.md): The Hit Test interface allows initiating hit testing against real-world geometry from various sources: the view,... - [XrHitTestSource](https://api.playcanvas.com/engine/classes/XrHitTestSource.md): Represents XR hit test source, which provides access to hit results of real world geometry from AR session. - [XrImageTracking](https://api.playcanvas.com/engine/classes/XrImageTracking.md): Image Tracking provides the ability to track real world images using provided image samples and their estimated sizes. - [XrInput](https://api.playcanvas.com/engine/classes/XrInput.md): Provides access to input sources for WebXR. - [XrInputSource](https://api.playcanvas.com/engine/classes/XrInputSource.md): Represents XR input source, which is any input mechanism which allows the user to perform targeted actions in the... - [XrJoint](https://api.playcanvas.com/engine/classes/XrJoint.md): Represents the joint of a finger. - [XrLightEstimation](https://api.playcanvas.com/engine/classes/XrLightEstimation.md): Light Estimation provides illumination data from the real world, which is estimated by the underlying AR system. - [XrManager](https://api.playcanvas.com/engine/classes/XrManager.md): XrManager provides a comprehensive interface for WebXR integration in PlayCanvas applications. - [XrMesh](https://api.playcanvas.com/engine/classes/XrMesh.md): Detected Mesh instance that provides its transform (position, rotation), triangles (vertices, indices) and its... - [XrMeshDetection](https://api.playcanvas.com/engine/classes/XrMeshDetection.md): Mesh Detection provides the ability to detect real world meshes based on the scanning and reconstruction by the... - [XrPlane](https://api.playcanvas.com/engine/classes/XrPlane.md): Represents a detected plane in the real world, providing its position, rotation, polygon points, and semantic label. - [XrPlaneDetection](https://api.playcanvas.com/engine/classes/XrPlaneDetection.md): Plane Detection provides the ability to detect real world surfaces based on estimations of the underlying AR system. - [XrTrackedImage](https://api.playcanvas.com/engine/classes/XrTrackedImage.md): The tracked image interface that is created by the Image Tracking system and is provided as a list from... - [XrView](https://api.playcanvas.com/engine/classes/XrView.md): Represents an XR View which represents a screen (monoscopic scenario such as a mobile phone) or an eye (stereoscopic... - [XrViews](https://api.playcanvas.com/engine/classes/XrViews.md): Provides access to list of XrViews and information about their capabilities, such as support and availability of... ## Other - [basisInitialize](https://api.playcanvas.com/engine/functions/basisInitialize.md): Initialize the Basis transcode worker. - [dracoDecode](https://api.playcanvas.com/engine/functions/dracoDecode.md): Enqueue a buffer for decoding. - [dracoInitialize](https://api.playcanvas.com/engine/functions/dracoInitialize.md): Initialize the Draco mesh decoder. - [revision](https://api.playcanvas.com/engine/variables/revision.md): The engine revision number. - [version](https://api.playcanvas.com/engine/variables/version.md): The engine version number. - [guid](https://api.playcanvas.com/engine/modules/guid.md): Basically a very large random number (128-bit) which means the probability of creating two that clash is vanishingly... - [path](https://api.playcanvas.com/engine/modules/path.md): File path API. - [platform](https://api.playcanvas.com/engine/modules/platform.md): Global namespace that stores flags regarding platform environment and features support. - [string](https://api.playcanvas.com/engine/modules/string.md): Extended String API. - [Other types](https://api.playcanvas.com/engine/other-types.md): 78 interfaces and type aliases without a category, mostly the types of other symbols' parameters and results. ## Optional - [All pages in one file](https://api.playcanvas.com/engine/llms-full.txt): 1102 pages (1971 KB), for downloading and searching rather than reading into context.