Skip to main content


A component encapsulates functionality that can be added to or removed from entities. For example, a component might enable an entity to play sound, render a 3D model or run a script.

You can add a component to an entity using the PlayCanvas Editor or by using the Engine API. The properties exposed by components are listed in the Inspector when you select an Entity.

Component Types

There are many different components defined in the PlayCanvas Engine:

AnimSpecifies the state graph and animations that can run on an entity hierarchy.
Audio ListenerSpecifies the location of the listener for 3D audio playback.
ButtonCreates a user interface button.
CameraRenders the scene from the location of the entity.
CollisionAssigns a collision volume to the entity.
ElementDefines a user interface text or image element.
GSplatRenders a 3D Gaussian Splat at the location of the entity.
Layout ChildOverrides default Layout Group properties for one element.
Layout GroupAutomatically sets position and scale of child user interface elements.
LightAttaches a dynamic light source to the Entity.
Particle SystemAttaches a particle system to the Entity.
Rigid BodyAdds the entity to the scene's physical simulation.
RenderRenders a graphical primitive or a render asset.
ScreenDefines the area and rendering of a user interface.
ScriptAllows the entity to run JavaScript fragments to implement custom behavior.
ScrollbarDefines a scrolling control for a Scrollview component.
Scroll ViewDefines a scrollable area in a user interface.
SoundPlays audio assets.
SpriteRenders 2D graphics at the location of the entity.

Deprecated Components

PlayCanvas still provides some deprecated components. Use of these components is not recommended for new projects.

AnimationSpecifies the animations that can run on the model specified by the entity's model component.
ModelRenders a 3D model at the location of the entity.