Stay organized with collections
Save and categorize content based on your preferences.
public interface Component
A Component adds functionality or behaviors to an Entity
.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-08-13 UTC.
[null,null,["Last updated 2025-08-13 UTC."],[],[],null,["# Component\n=========\n\nArtifact: [androidx.xr.scenecore:scenecore](/jetpack/androidx/releases/xr-scenecore) \n[View Source](https://cs.android.com/search?q=file:androidx/xr/scenecore/Component.kt+class:androidx.xr.scenecore.Component) \nAdded in [1.0.0-alpha06](/jetpack/androidx/releases/xr-scenecore#1.0.0-alpha06)\n\n*** ** * ** ***\n\n[Kotlin](/reference/kotlin/androidx/xr/scenecore/Component \"View this page in Kotlin\") \\|Java\n\n\n```\npublic interface Component\n```\n\n\u003cbr /\u003e\n\nKnown direct subclasses \n[InteractableComponent](/reference/androidx/xr/scenecore/InteractableComponent), [MovableComponent](/reference/androidx/xr/scenecore/MovableComponent), [PointerCaptureComponent](/reference/androidx/xr/scenecore/PointerCaptureComponent), [ResizableComponent](/reference/androidx/xr/scenecore/ResizableComponent), [SpatialPointerComponent](/reference/androidx/xr/scenecore/SpatialPointerComponent) \n\n|-------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [InteractableComponent](/reference/androidx/xr/scenecore/InteractableComponent) | Provides access to raw [InputEvent](/reference/androidx/xr/scenecore/InputEvent)s for given [Entity](/reference/androidx/xr/scenecore/Entity), so a client can implement their own interaction logic. |\n| [MovableComponent](/reference/androidx/xr/scenecore/MovableComponent) | This [Component](/reference/androidx/xr/scenecore/Component) can be attached to a single instance of an [Entity](/reference/androidx/xr/scenecore/Entity). |\n| [PointerCaptureComponent](/reference/androidx/xr/scenecore/PointerCaptureComponent) | Provides pointer capture capabilities for a given [Entity](/reference/androidx/xr/scenecore/Entity). |\n| [ResizableComponent](/reference/androidx/xr/scenecore/ResizableComponent) | This [Component](/reference/androidx/xr/scenecore/Component) can be attached to a single instance of an [Entity](/reference/androidx/xr/scenecore/Entity). |\n| [SpatialPointerComponent](/reference/androidx/xr/scenecore/SpatialPointerComponent) | [Component](/reference/androidx/xr/scenecore/Component) that modifies the pointer icon that is rendered on the component's [Entity](/reference/androidx/xr/scenecore/Entity). |\n\n*** ** * ** ***\n\nA Component adds functionality or behaviors to an [Entity](/reference/androidx/xr/scenecore/Entity)."]]