Components Overview
Web Engine includes 50+ built-in components covering transforms, physics, rendering, audio, AI, networking, and more.
Components are pure data containers that define what an entity isand what it has. By combining components, you create unique game objects without inheritance hierarchies.
Component Categories#
Transform
Transform, LocalTransform, Parent, SiblingIndex — hierarchy and positioning.
Rendering
MeshRenderer, Light, Camera, MaterialRef, LOD — Three.js rendering.
Physics
RigidBody, Collider, CharacterController, Joint — Rapier3D integration.
Audio
AudioSource, AudioListener, AudioZone — 3D spatial audio.
Particles
ParticleEmitter — GPU-accelerated particle systems with behaviors.
Gameplay
Health, CharacterController, Inventory, Team, Vehicle — gameplay systems.
Quick Reference#
Transform Components#
| Component | Description | Key Properties |
|---|---|---|
| Transform | World position, rotation, scale | position, rotation, scale, quaternion |
| LocalTransform | Position relative to parent | position, rotation, scale, quaternion |
| Parent | Parent-child hierarchy | eid |
| SiblingIndex | Order among siblings | value |
| TransformDirty | Marks transform changed | flags |
Physics Components#
| Component | Description | Key Properties |
|---|---|---|
| RigidBody | Physics simulation body | type, mass, friction, restitution |
| Collider | Collision shape | type, size, offset, isSensor |
| Velocity | Linear and angular velocity | linear, angular |
| CharacterController | Kinematic character movement | speed, jumpHeight, grounded |
| Joint | Physics constraints | type, connectedEntity, anchor1, anchor2 |
| TriggerVolume | Trigger/sensor zones | shape, size, collisionGroup |
Rendering Components#
| Component | Description | Key Properties |
|---|---|---|
| MeshRenderer | 3D mesh rendering | primitiveType, assetId, castShadow |
| MaterialRef | Material assignment | assetId, colorOverride, tiling, offset |
| MeshColor | Mesh color tint | r, g, b, a |
| Light | Lighting | type, intensity, color, castShadow |
| Camera | View camera | fov, near, far, aspect |
| Renderable | Marks entity as renderable | — |
| RenderLayers | Layer-based rendering | mask |
| CullingMask | Camera culling mask | mask |
| BoundingBox | Spatial bounds | min, max, center, radius |
| LODGroup | Level of detail | distances, assetIds, currentLOD |
Audio Components#
| Component | Description | Key Properties |
|---|---|---|
| AudioSource | 3D sound emitter | assetId, volume, loop, spatial, pitch |
| AudioListener | Receives audio (on camera) | active |
| AudioZone | Reverb/occlusion area | shapeType, reverbPreset, occlusionFactor |
Particle Components#
| Component | Description | Key Properties |
|---|---|---|
| ParticleEmitter | GPU particle system | maxParticles, emissionRate, lifetime, speed |
Animation Components#
| Component | Description | Key Properties |
|---|---|---|
| Animation | Skeletal animation | clipIndex, speed, weight, loop |
| AnimationGraphComponent | Animation state machine | graphId, state |
| AnimationLOD | Animation level of detail | distance, lodLevel, updateInterval |
Gameplay Components#
| Component | Description | Key Properties |
|---|---|---|
| Health | Health/damage tracking | current, max |
| CharacterController | Character movement | speed, jumpHeight, grounded |
| Inventory | Item storage | capacity, locked |
| Team | Team affiliation | id |
| Vehicle | Vehicle physics | type, maxSpeed, acceleration |
| Projectile | Bullet/arrow physics | ownerId, damage, speed, lifeTime |
Adding Components#
To add a component to an entity in the editor:
- Select an entity in the Hierarchy panel.
- In the Inspector panel, click the Add Component button.
- Search or browse for the component you want.
- Click to add it to the entity.
Component Shortcuts
When creating entities via right-click menu (e.g., "3D Object → Cube"), all necessary components are added automatically.
Common Component Combinations#
Some components work best together:
Static Prop#
Transform— Position in worldMeshRenderer— Visual meshCollider(static) — Collision for raycasts/physics
Physics Object#
Transform— Position in worldMeshRenderer— Visual meshRigidBody(dynamic) — Physics simulationCollider— Collision shape
Player Character#
Transform— Position in worldMeshRenderer— Character meshCharacterController— Movement with collisionAnimation— Skeletal animationsScript— Player input handlingAudioSource— Footsteps, voice
AI Enemy#
Transform— Position in worldMeshRenderer— Enemy meshNavMeshAgent— PathfindingAnimation— Skeletal animationsTarget— Reference to playerHealth— Damage/deathScript— AI behavior