Skip to main content


A visual element in a 3D scene. An entity may be composed of multiple primitives which all share the same frame of reference.

Parent schema

SceneEntity appears in the SceneUpdate message schema.


timestamptimeTimestamp of the entity
frame_idstringFrame of reference
idstringIdentifier for the entity. A entity will replace any prior entity on the same topic with the same id.
lifetimedurationLength of time (relative to timestamp) after which the entity should be automatically removed. Zero value indicates the entity should remain visible until it is replaced or deleted.
frame_lockedbooleanWhether the entity should keep its location in the fixed frame (false) or follow the frame specified in frame_id as it moves relative to the fixed frame (true)
metadataKeyValuePair[]Additional user-provided metadata associated with the entity. Keys must be unique.
arrowsArrowPrimitive[]Arrow primitives
cubesCubePrimitive[]Cube primitives
spheresSpherePrimitive[]Sphere primitives
cylindersCylinderPrimitive[]Cylinder primitives
linesLinePrimitive[]Line primitives
trianglesTriangleListPrimitive[]Triangle list primitives
textsTextPrimitive[]Text primitives
modelsModelPrimitive[]Model primitives

Reference implementations

Foxglove schemas are framework-agnostic, and can be implemented using any supported message encoding:

ROS 1foxglove_msgs/SceneEntity
ROS 2foxglove_msgs/msg/SceneEntity
OMG IDLfoxglove::SceneEntity

You must use the schema names specified above for Foxglove to recognize the schema.