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.
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 effect export in Unity is only supported with URP.
Unity only: extra Component means that the effect component is an extra component that has to be added next to the Volume component. For example for Antialiasing add a Volume component and an Antialiasing component to the same GameObject.
Effect Name
Antialiasing
extra Unity Component
Bloom
via Volume asset
Chromatic Aberration
via Volume asset
Color Adjustments / Color Correction
via Volume asset
Depth Of Field
via Volume asset
Pixelation
Screenspace Ambient Occlusion N8
Screenspace Ambient Occlusion
Tilt Shift Effect
Vignette
via Volume asset
Your custom effect
Create a new class that extends from Needle Engine's PostProcessingEffect class. Then call registerCustomEffectType with your effect name and class type.
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