Here is a overview of some of the components that we provide. Some of them map directly to Unity components, while others are core components from Needle Engine.
For a complete list please have a look at the components inside the folders node_modules/@needle-tools/engine/engine-components and engine-components-experimental.
You can always add your own components or add wrappers for Unity components we haven't provided yet.
DirectionalLight, PointLight, Spotlight. Note that you can use it to bake light (e.g. Rectangular Light shapes) as well
XRFlag
Control when objects will be visible. E.g. only enable object when in AR
DeviceFlag
Control on which device objects will be visible
LODGroup
ParticleSystem
Experimental and currently not fully supported
VideoPlayer
Playback videos from url or referenced video file (will be copied to output on export). The VideoPlayer also supports streaming from MediaStream objects or M3U8 livestream URLs
MeshRenderer
Used to handle rendering of objects including lightmapping and instancing
Postprocessing effects use the pmndrs postprocessing libraryopen in new window under the hood. This means you can also easily add your own custom effects and get an automatically optimized postprocessing pass.
Unity only: Note that Postprocessing effects using a Volume in Unity is only supported with URP
Spatial UI components are mapped from Unity UI (Canvas, not UI Toolkit) to three-mesh-uiopen in new window. UI can be animated.
Name
Description
Canvas
Unity's UI system. Needs to be in World Space mode right now.
Text
Render Text using Unity's UI. Custom fonts are supported, a font atlas will be automatically generated on export. Use the font settings to control which characters are included in the atlas
Button
Receives click events - use the onClick event to react to it. It can be added too 3D scene objects as well
Image
Renders a sprite image
RawImage
Renders a texture
Note: Depending on your project, often a mix of spatial and 2D UI makes sense for cross-platform projects where VR, AR, and screens are supported. Typically, you'd build the 2D parts with HTML for best accessibility, and the 3D parts with geometric UIs that also support depth offsets (e.g. button hover states and the like).
Handles loading and unloading of other scenes or prefabs / glTF files. Has features to preload, change scenes via swiping, keyboard events or URL navigation