PageSourceSearch

https://engine.needle.tools/docs/assets/features-overview.html-C78CNAwW.js

js needle.tools collected 2026-09-24 22:51:42 UTC 38,251 bytes, 10 lines download raw bytes

1import{_ as p,c as h,i as n,a,g as s,f as i,w as t,h as d,o as m}from"./app-BVev90Ro.js";const u={},g={id:"native-ios-webxr-support",tabindex:"-1"},c={class:"header-anchor",href:"#native-ios-webxr-support"},f={id:"blender-support",tabindex:"-1"},b={class:"header-anchor",href:"#blender-support"},k={id:"physics-rapier",tabindex:"-1"},y={class:"header-anchor",href:"#physics-rapier"};function w(v,e){const r=d("RouteLink"),l=d("logo-header"),o=d("sample");return m(),h("div",null,[e[51]||(e[51]=n('<h1 id="feature-overview" tabindex="-1"><a class="header-anchor" href="#feature-overview"><span>Feature Overview</span></a></h1><p><strong>Needle Engine is a fully-fledged 3D engine for the web</strong> with everything you&#39;d expect from a modern 3D engine, and more. Build stunning web experiences that work everywhere – from browsers to VR headsets to mobile AR.</p><div class="hint-container tip"><p class="hint-container-title">See It In Action</p><p>Explore our <a href="https://engine.needle.tools/samples" target="_blank" rel="noopener noreferrer">Samples and Showcase</a> to experience what&#39;s possible.</p></div><h2 id="cross-platform-desktop-mobile-vr-and-ar" tabindex="-1"><a class="header-anchor" href="#cross-platform-desktop-mobile-vr-and-ar"><span>Cross-Platform: Desktop, Mobile, VR, and AR</span></a></h2>',4)),a("p",null,[e[1]||(e[1]=a("strong",null,"One codebase, every platform.",-1)),e[2]||(e[2]=i(" Needle Engine runs everywhere web technology does – desktop, mobile, AR, and VR. We build Needle Engine ",-1)),s(r,{to:"/how-to-guides/xr/"},{default:t(()=>e[0]||(e[0]=[i("with XR in mind",-1)])),_:1,__:[0]}),e[3]||(e[3]=i(" as an integral part of responsive web design.",-1))]),a("h3",g,[a("a",c,[a("span",null,[s(l,{logo:"/imgs/webxr-logo.webp",alt:"WebXR"},{default:t(()=>e[4]||(e[4]=[i("Native iOS WebXR Support",-1)])),_:1,__:[4]})])])]),e[52]||(e[52]=n('<p><strong>Full WebXR on iPhone and iPad</strong> – no app required! 🎉</p><p>Native <a href="/docs/how-to-guides/xr/ios-webxr-app-clip">iOS WebXR support</a> is now available through App Clip technology. Users can experience your WebXR AR content instantly via QR codes or links, without installing an app. Powered by ARKit, it provides:</p><ul><li>Hit testing and plane detection</li><li>DOM overlays for UI elements</li><li>Image tracking</li><li>Anchor creation and tracking (work in progress)</li><li>Lighting estimation (work in progress)</li></ul><p><a href="https://appclip.needle.tools" target="_blank" rel="noopener noreferrer">Try it now</a> • <a href="/docs/how-to-guides/xr/ios-webxr-app-clip">Read iOS WebXR docs</a></p><h3 id="everywhere-actions-for-ios-and-android" tabindex="-1"><a class="header-anchor" href="#everywhere-actions-for-ios-and-android"><span>Everywhere Actions for iOS and Android</span></a></h3>',5)),a("p",null,[e[6]||(e[6]=i("Use ",-1)),s(r,{to:"/how-to-guides/everywhere-actions/"},{default:t(()=>e[5]||(e[5]=[i("Everywhere Actions",-1)])),_:1,__:[5]}),e[7]||(e[7]=i(" for ",-1)),e[8]||(e[8]=a("strong",null,"interactive AR experiences",-1)),e[9]||(e[9]=i(" on both iOS and Android using USDZ and QuickLook. Perfect for product configurators, marketing experiences, and interactive storytelling.",-1))]),e[53]||(e[53]=n('<p><strong>Platform Support:</strong></p><ul><li><strong>VR Headsets</strong>: Meta Quest, Apple Vision Pro, Pico, HTC Vive, Valve Index</li><li><strong>Mobile AR</strong>: Android (WebXR), iOS (WebXR via App Clips + USDZ/QuickLook)</li><li><strong>Desktop</strong>: All modern browsers</li><li><strong><a href="/docs/how-to-guides/xr/image-tracking">Image Tracking</a></strong> – WebXR image tracking on Android, QuickLook image tracking on iOS</li><li><strong>Future devices work automatically</strong> – that&#39;s the power of web standards</li></ul>',2)),a("p",null,[s(r,{to:"/how-to-guides/xr/"},{default:t(()=>e[10]||(e[10]=[i("Learn more about XR support",-1)])),_:1,__:[10]})]),e[54]||(e[54]=n('<h2 id="graphics-and-rendering" tabindex="-1"><a class="header-anchor" href="#graphics-and-rendering"><span>Graphics and Rendering</span></a></h2><h3 id="shaders-and-materials" tabindex="-1"><a class="header-anchor" href="#shaders-and-materials"><span>Shaders and Materials</span></a></h3><p><strong>Professional-grade rendering on the web.</strong> Export both <a href="/docs/explanation/exporting-to-gltf#physically-based-materials-pbr">PBR Materials</a> and <a href="/docs/how-to-guides/export/materialx">Custom shaders</a> created with Shader Graph or other systems.</p><img src="https://user-images.githubusercontent.com/5083203/186012027-9bbe3944-fa56-41fa-bfbb-c989fa87aebb.png" alt="Shader Graph Example"><p>Use Unity&#39;s node-based ShaderGraph to create shaders for the web. Artists can keep creating without worrying about syntax or web-specific code.</p><p>Read more: <a href="/docs/explanation/exporting-to-gltf#physically-based-materials-pbr">PBR Materials</a> • <a href="/docs/explanation/exporting-to-gltf#custom-shaders">Custom Shaders</a> • <a href="/docs/how-to-guides/export/materialx">MaterialX</a></p><h3 id="fasthdr-environment-lighting" tabindex="-1"><a class="header-anchor" href="#fasthdr-environment-lighting"><span>FastHDR Environment Lighting</span></a></h3><p><img src="https://cloud.needle.tools/articles/fasthdr/fasthdr-ballroom.webp" alt="FastHDR Ballroom"></p><p><strong>Ultra-fast, high-quality HDRI lighting — a Needle Engine exclusive.</strong></p><p><a href="/docs/explanation/fasthdr">FastHDR</a> is a GPU-native environment map format that loads 10x faster than EXR, uses 95% less VRAM, and requires zero CPU processing. Your scenes get stunning environment lighting that works beautifully even on budget phones and low-end devices.</p><ul><li>4K environment in ~134 ms (EXR: ~1,261 ms)</li><li>12 MB VRAM (EXR: 256 MB)</li><li>Zero frame drops, zero main thread work</li><li>Automatic conversion during production builds</li></ul><p><a href="/docs/explanation/fasthdr">Learn more about FastHDR →</a></p><h3 id="lightmaps" tabindex="-1"><a class="header-anchor" href="#lightmaps"><span>Lightmaps</span></a></h3><p><strong>Beautiful baked lighting, automatically exported to the web.</strong></p><p><img src="https://user-images.githubusercontent.com/5083203/186163693-093c7ae2-96eb-4d75-b98f-bf19f78032ff.gif" alt="lightmaps"></p><p>Lightmaps can be baked in Unity or Blender and automatically exported to your web experience. Just mark objects as static, add lights (or use emissive materials), click bake, and Needle Engine handles the rest. What you see in the editor is what you get on the web.</p><p><strong>Flexible Setup:</strong></p><ul><li>Works with Unity&#39;s built-in lightmapper</li><li>Compatible with third-party lightmappers like <a href="https://assetstore.unity.com/packages/tools/level-design/bakery-gpu-lightmapper-122218" target="_blank" rel="noopener noreferrer">Bakery</a></li><li>Per-scene lightmaps automatically loaded</li></ul>',18)),a("p",null,[s(r,{to:"/how-to-guides/export/#exporting-lightmaps"},{default:t(()=>e[11]||(e[11]=[i("Read more about exporting Lightmaps",-1)])),_:1,__:[11]})]),e[55]||(e[55]=n('<h3 id="materialpropertyblocks" tabindex="-1"><a class="header-anchor" href="#materialpropertyblocks"><span>MaterialPropertyBlocks</span></a></h3><p><strong>Per-object material customization without breaking batching.</strong></p><p>MaterialPropertyBlocks allow you to override material properties on individual objects while sharing the same base material, maintaining performance through efficie
1nt batching and instancing.</p><p><strong>Key Features:</strong></p><ul><li>Override material properties per object without creating new material instances</li><li>Support for both transparent and opaque rendering on the same material</li><li>Automatic shader define management</li><li>Texture coordinate transforms per object</li><li>Used internally by lightmaps, reflection probes, and see-through effects</li></ul><p><strong>Common Use Cases:</strong></p><ul><li>Apply unique lightmap textures to objects sharing the same material</li><li>Per-object environment maps for localized reflections</li><li>Dynamic transparency effects (X-ray vision, see-through walls)</li><li>Color variations across instanced objects</li><li>Per-object texture tiling and offset</li></ul><p><a href="/docs/how-to-guides/scripting/material-property-blocks">Read the MaterialPropertyBlock guide</a></p><h3 id="post-processing-effects" tabindex="-1"><a class="header-anchor" href="#post-processing-effects"><span>Post-Processing Effects</span></a></h3><p><strong>Industry-standard post-processing for the web.</strong></p><p>Built-in effects include Bloom, Screen Space Ambient Occlusion (SSAO), Depth of Field, and Color Correction. You can also create custom effects tailored to your project.</p>',11)),s(o,{src:"https://engine.needle.tools/samples-uploads/postprocessing/"}),e[56]||(e[56]=n('<p><a href="/docs/reference/components#postprocessing">See all post-processing components</a></p><h2 id="animation-and-sequencing" tabindex="-1"><a class="header-anchor" href="#animation-and-sequencing"><span>Animation and Sequencing</span></a></h2><p><strong>Powerful animation tools that translate directly to the web.</strong> From simple animations to complex state machines and cinematic sequences – Needle Engine brings professional animation workflows to web experiences.</p><h3 id="animator-state-machines" tabindex="-1"><a class="header-anchor" href="#animator-state-machines"><span>Animator State Machines</span></a></h3><img src="https://user-images.githubusercontent.com/5083203/186011302-176524b3-e8e5-4e6e-9b77-7faf3561bb15.png" alt="Unity Animator"><p>Unity&#39;s <a href="https://docs.unity3d.com/Manual/class-AnimatorController.html" target="_blank" rel="noopener noreferrer">Animator and AnimatorController</a> let you set up animations and define conditions for blending between them. Needle Engine exports:</p><ul><li>Animation state machines</li><li>StateMachineBehaviours with <code>OnStateEnter</code>, <code>OnStateUpdate</code>, and <code>OnStateExit</code> events</li><li>Transitions and layers</li><li>Parameter-driven state changes</li></ul><div class="hint-container tip"><p class="hint-container-title">Limited support for sub-states and blend trees</p><p>Sub-states and Blend Trees are not yet supported.</p></div><h3 id="timeline-sequencing" tabindex="-1"><a class="header-anchor" href="#timeline-sequencing"><span>Timeline Sequencing</span></a></h3><p><img src="https://user-images.githubusercontent.com/5083203/186037829-ee99340d-b19c-484d-b551-94797519c9d9.png" alt="Timeline Example"></p><p>Create cinematic sequences with <a href="https://unity.com/features/timeline" target="_blank" rel="noopener noreferrer">Unity&#39;s Timeline</a>. Needle Engine translates Timeline setups into web-ready format.</p><p><strong>Supported Tracks:</strong></p><ul><li>AnimationTrack</li><li>AudioTrack</li><li>ActivationTrack</li><li>ControlTrack</li><li>SignalTrack</li></ul><div class="hint-container tip"><p class="hint-container-title">Limited support for sub-timelines</p><p>Sub-Timelines are not yet supported. Custom timeline tracks can be exported – <a href="https://github.com/needle-tools/needle-engine-modules/tree/main/package/TimelineHtml" target="_blank" rel="noopener noreferrer">see example</a>.</p></div>',14)),a("h3",f,[a("a",b,[a("span",null,[s(l,{logo:"/blender/logo.png",alt:"Blender"},{default:t(()=>e[12]||(e[12]=[i("Blender Support",-1)])),_:1,__:[12]})])])]),e[57]||(e[57]=a("p",null,"Animation support extends to Blender too! Create animation state machines and export NLA tracks as timelines directly from Blender.",-1)),e[58]||(e[58]=a("p",null,[a("a",{href:"/docs/reference/components#animation"},"Read more about Animation Components")],-1)),a("h2",k,[a("a",y,[a("span",null,[s(l,{logo:"/imgs/rapier-physics-logo.webp",alt:"Rapier"},{default:t(()=>e[13]||(e[13]=[i("Physics (Rapier)",-1)])),_:1,__:[13]})])])]),e[59]||(e[59]=n(`<p><strong>Real-time physics simulation in the browser, powered by <a href="https://rapier.rs/" target="_blank" rel="noopener noreferrer">Rapier</a>.</strong></p><p>Add realistic physics interactions using familiar components — no additional setup or dependencies required:</p><ul><li>Rigidbodies for dynamic objects</li><li>Colliders: Box, Sphere, Capsule, and Mesh</li><li>Physics materials for friction and bounce</li><li>
1Raycasting and collision detection</li><li>Character controllers for player movement</li></ul><p>Works from code without any editor — add physics to any object at runtime:</p><div class="language-ts" data-highlighter="shiki" data-ext="ts" style="--shiki-light:#383A42;--shiki-dark:#EEFFFF;--shiki-light-bg:#FAFAFA;--shiki-dark-bg:#263238;"><pre class="shiki shiki-themes one-light material-theme vp-code"><code class="language-ts"><span class="line"><span style="--shiki-light:#A626A4;--shiki-light-font-style:inherit;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic;">import</span><span style="--shiki-light:#383A42;--shiki-dark:#89DDFF;"> {</span><span style="--shiki-light:#E45649;--shiki-dark:#EEFFFF;"> Behaviour</span><span style="--shiki-light:#383A42;--shiki-dark:#89DDFF;">,</span><span style="--shiki-light:#E45649;--shiki-dark:#EEFFFF;"> Rigidbody</span><span style="--shiki-light:#383A42;--shiki-dark:#89DDFF;">,</span><span style="--shiki-light:#E45649;--shiki-dark:#EEFFFF;"> BoxCollider</span><span style="--shiki-light:#383A42;--shiki-dark:#89DDFF;"> }</span><span style="--shiki-light:#A626A4;--shiki-light-font-style:inherit;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic;"> from</span><span style="--shiki-light:#50A14F;--shiki-dark:#89DDFF;"> &quot;</span><span style="--shiki-light:#50A14F;--shiki-dark:#C3E88D;">@needle-tools/engine</span><span style="--shiki-light:#50A14F;--shiki-dark:#89DDFF;">&quot;</span><span style="--shiki-light:#383A42;--shiki-dark:#89DDFF;">;</span></span>
2<span class="line"></span>
3<span class="line"><span style="--shiki-light:#A626A4;--shiki-light-font-style:inherit;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic;">export</span><span style="--shiki-light:#A626A4;--shiki-dark:#C792EA;"> class</span><span style="--shiki-light:#C18401;--shiki-dark:#FFCB6B;"> PhysicsBox</span><span style="--shiki-light:#A626A4;--shiki-dark:#C792EA;"> extends</span><span style="--shiki-light:#C18401;--shiki-dark:#FFCB6B;"> Behaviour</span><span style="--shiki-light:#383A42;--shiki-dark:#89DDFF;"> {</span></span>
4<span class="line"><span style="--shiki-light:#4078F2;--shiki-dark:#F07178;">    start</span><span style="--shiki-light:#383A42;--shiki-dark:#89DDFF;">()</span><span style="--shiki-light:#383A42;--shiki-dark:#89DDFF;"> {</span></span>
5<span class="line"><span style="--shiki-light:#A0A1A7;--shiki-light-font-style:italic;--shiki-dark:#546E7A;--shiki-dark-font-style:italic;">        // Add physics to any object — Rapier is built in</span></span>
6<span class="line"><span style="--shiki-light:#A626A4;--shiki-dark:#C792EA;">        const</span><span style="--shiki-light:#986801;--shiki-dark:#EEFFFF;"> rb</span><span style="--shiki-light:#0184BC;--shiki-dark:#89DDFF;"> =</span><span style="--shiki-light:#E45649;--shiki-dark:#89DDFF;"> this</span><span style="--shiki-light:#383A42;--shiki-dark:#89DDFF;">.</span><span style="--shiki-light:#E45649;--shiki-dark:#EEFFFF;">gameObject</span><span style="--shiki-light:#383A42;--shiki-dark:#89DDFF;">.</span><span style="--shiki-light:#4078F2;--shiki-dark:#82AAFF;">addComponent</span><span style="--shiki-light:#383A42;--shiki-dark:#F07178;">(</span><span style="--shiki-light:#383A42;--shiki-dark:#EEFFFF;">Rigidbody</span><span style="--shiki-light:#383A42;--shiki-dark:#F07178;">)</span><span style="--shiki-light:#383A42;--shiki-dark:#89DDFF;">;</span></span>
7<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#EEFFFF;">        rb</span><span style="--shiki-light:#383A42;--shiki-dark:#89DDFF;">.</span><span style="--shiki-light:#E45649;--shiki-dark:#EEFFFF;">useGravity</span><span style="--shiki-light:#0184BC;--shiki-dark:#89DDFF;"> =</span><span style="--shiki-light:#986801;--shiki-dark:#FF9CAC;"> true</span><span style="--shiki-light:#383A42;--shiki-dark:#89DDFF;">;</span></span>
8<span class="line"><span style="--shiki-light:#E45649;--shiki-dark:#89DDFF;">        this</span><span style="--shiki-light:#383A42;--shiki-dark:#89DDFF;">.</span><span style="--shiki-light:#E45649;--shiki-dark:#EEFFFF;">gameObject</span><span style="--shiki-light:#383A42;--shiki-dark:#89DDFF;">.</span><span style="--shiki-light:#4078F2;--shiki-dark:#82AAFF;">addComponent</span><span style="--shiki-light:#383A42;--shiki-dark:#F07178;">(</span><span style="--shiki-light:#383A42;--shiki-dark:#EEFFFF;">BoxCollider</span><span style="--shiki-light:#383A42;--shiki-dark:#F07178;">)</span><span style="--shiki-light:#383A42;--shiki-dark:#89DDFF;">;</span></span>
9<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#89DDFF;">    }</span></span>
10<span class="line"><span style="--shiki-light:#383A42;--shiki-dark:#89DDFF;">}</span></span></code></pre></div>`,5)),s(o,{src:"https://engine.needle.tools/samples-uploads/physics-animation/"}),e[60]||(e[60]=n('<p><a href="/docs/how-to-guides/scripting/use-physics">
10Use Physics Guide</a> • <a href="/docs/reference/components#physics">Physics Components</a></p><h2 id="particle-systems" tabindex="-1"><a class="header-anchor" href="#particle-systems"><span>Particle Systems</span></a></h2><p><strong>Create stunning visual effects with Unity&#39;s Shuriken particle system.</strong></p><p>Export Unity ParticleSystems to the web with support for:</p><ul><li>World/local space simulation</li><li>Box and sphere emitter shapes</li><li>Emission over time and burst emission</li><li>Velocity and color over lifetime</li><li>Emission influenced by velocity</li><li>Texture sheet animation</li><li>Basic trails</li></ul>',5)),s(o,{src:"https://engine.needle.tools/samples-uploads/particles/"}),e[61]||(e[61]=n('<p><a href="https://engine.needle.tools/samples/particles" target="_blank" rel="noopener noreferrer">Try live particle samples</a></p><h2 id="user-interface" tabindex="-1"><a class="header-anchor" href="#user-interface"><span>User Interface</span></a></h2><p><strong>Build interactive UIs using Unity&#39;s Canvas system.</strong></p><p>Export Unity UI components including:</p><ul><li>Text (with custom fonts and auto-generated font atlas, <a href="/docs/how-to-guides/components/ui-text#extending-the-character-set">extensible character sets</a>)</li><li>Images and sprites</li><li>Buttons with events</li><li>Layout groups</li><li>World-space and screen-space canvases</li></ul>',5)),s(o,{src:"https://engine.needle.tools/samples-uploads/screenspace-ui"}),e[62]||(e[62]=n('<p><a href="/docs/reference/components#ui">See supported UI components</a></p><h2 id="multiplayer-and-networking" tabindex="-1"><a class="header-anchor" href="#multiplayer-and-networking"><span>Multiplayer and Networking</span></a></h2><p><strong>Real-time multiplayer, built-in.</strong></p><p>Networking is integrated into the core runtime. Deploy multiplayer 3D environments in seconds with built-in networked components. Synchronizing variables and state is incredibly simple.</p><p><strong>Features:</strong></p><ul><li>Built-in networking components</li><li>Easy variable synchronization</li><li>Voice chat support (VoIP)</li><li>Works seamlessly with XR</li><li>Quick deployment to Glitch with included server</li></ul>',6)),a("p",null,[s(r,{to:"/how-to-guides/networking/"},{default:t(()=>e[14]||(e[14]=[i("Read more about Networking",-1)])),_:1,__:[14]}),e[16]||(e[16]=i(" • ",-1)),s(r,{to:"/how-to-guides/scripting/"},{default:t(()=>e[15]||(e[15]=[i("Scripting Guide",-1)])),_:1,__:[15]})]),e[63]||(e[63]=a("h2",{id:"editor-integrations",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#editor-integrations"},[a("span",null,"Editor Integrations")])],-1)),e[64]||(e[64]=a("p",null,[a("strong",null,"Visual authoring meets web deployment.")],-1)),e[65]||(e[65]=a("p",null,"Powerful integrations for Unity and Blender allow artists and developers to collaborate seamlessly. Set up and export complex scenes visually, with flexible workflows for both technical and creative team members.",-1)),s(l,{logo:"/imgs/unity-logo.webp",alt:"Unity"},{default:t(()=>e[17]||(e[17]=[i("Unity Integration:",-1)])),_:1,__:[17]}),e[66]||(e[66]=a("ul",null,[a("li",null,"Full component support"),a("li",null,"Visual scene authoring"),a("li",null,"Asset pipeline integration"),a("li",null,"Hot reload during development")],-1)),s(l,{logo:"/blender/logo.png",alt:"Blender"},{default:t(()=>e[18]||(e[18]=[i("Blender Add-on (full-featured, first-class workflow):",-1)])),_:1,__:[18]}),a("ul",null,[e[20]||(e[20]=a("li",null,"Export glTF with Needle Engine components",-1)),e[21]||(e[21]=a("li",null,"Animation support (NLA tracks, state machines)",-1)),e[22]||(e[22]=a("li",null,"Material and lighting export including lightmapping",-1)),e[23]||(e[23]=a("li",null,"100+ built-in components available directly in Blender",-1)),e[24]||(e[24]=a("li",null,"Hot reload — save in Blender, see changes instantly in the browser",-1)),a("li",null,[s(r,{to:"/blender/"},{default:t(()=>e[19]||(e[19]=[i("Get started with Blender →",-1)])),_:1,__:[19]})])]),e[67]||(e[67]=n('<h2 id="scripting-and-development" tabindex="-1"><a class="header-anchor" href="#scripting-and-development"><span>Scripting and Development</span></a></h2><p><strong>Flexible, powerful, and developer-friendly.</strong></p><p>Needle Engine uses a <a href="/docs/how-to-guides/scripting/create-components#component-architecture">component-based architecture</a> familiar to Unity developers. Create custom components in TypeScript or JavaScript.</p><p><strong>Developer Features:</strong></p><ul><li>Component-based workflow (like Unity)</li><li>TypeScript and JavaScript support</li><li><a href="/docs/reference/npm-definition-files">Modular npm-based packages</a></li><li><a href="/docs/reference/component-compiler">TypeScript to C# component compiler</a> – write TypeScript, get Unity components automatically</li><li>Hot module replacement for fast iteration</li><li>Full three.js access for advanced use cases</li></ul><p><a href="/docs/how-to-guides/scripting/create-components">Read more: Scripting Reference</a> • <a href="/docs/reference/npm-definition-files">Npm Definition Files</a></p><h2 id="additional-features" tabindex="-1"><a class="header-anchor" href="#additional-features"><span>Additional Features</span></a></h2><p><strong>Even more capabilities to power your projects:</strong></p>',8)),a("ul",null,[e[28]||(e[28]=a("li",null,[a("strong",null,"EditorSync"),i(" – Live synchronize editing in Unity to your running web application for instant feedback during development")],-1)),e[29]||(e[29]=a("li",null,[a("strong",null,"Compression Pipeline"),i(" – Automatic optimization for web delivery with glTF compression and texture optimization")],-1)),a("li",null,[a("strong",null,[s(r,{to:"/gltf-progressive/"},{default:t(()=>e[25]||(e[25]=[i("Progressive Loading",-1)])),_:1,__:[25]})]),e[26]||(e[26]=i(" – Instant scene display with progressive mesh and texture streaming via ",-1)),e[27]||
10(e[27]=a("code",null,"@needle-tools/gltf-progressive",-1))]),e[30]||(e[30]=n('<li><strong>Audio Support</strong> – Spatial audio, audio sources, and audio listeners</li><li><strong><a href="/docs/how-to-guides/xr/image-tracking">Image Tracking</a></strong> – WebXR image tracking on Android, QuickLook image tracking on iOS</li><li><strong>Custom Components</strong> – Extend the engine with your own components and systems</li><li><strong>Framework Integration</strong> – Works with React, Vue, Svelte, and other web frameworks</li><li><strong>Deployment Tools</strong> – Built-in deployment to Glitch, Vercel, and other platforms</li>',5))]),e[68]||(e[68]=a("hr",null,null,-1)),e[69]||(e[69]=a("h2",{id:"where-to-go-next",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#where-to-go-next"},[a("span",null,"Where to Go Next")])],-1)),e[70]||(e[70]=a("p",null,[a("strong",null,"Get Started:")],-1)),a("ul",null,[a("li",null,[s(r,{to:"/getting-started/"},{default:t(()=>e[31]||(e[31]=[i("Getting Started Guide",-1)])),_:1,__:[31]}),e[32]||(e[32]=i(" – Download and set up Needle Engine",-1))]),a("li",null,[s(r,{to:"/unity/"},{default:t(()=>e[33]||(e[33]=[i("Unity Integration",-1)])),_:1,__:[33]}),e[34]||(e[34]=i(" – Set up the Unity integration",-1))]),a("li",null,[s(r,{to:"/blender/"},{default:t(()=>e[35]||(e[35]=[i("Blender Addon",-1)])),_:1,__:[35]}),e[36]||(e[36]=i(" – Install the Blender addon",-1))])]),e[71]||(e[71]=a("p",null,[a("strong",null,"Learn More:")],-1)),a("ul",null,[e[39]||(e[39]=a("li",null,[a("a",{href:"./vision"},"Our Vision"),i(" – Learn about our goals and philosophy")],-1)),e[40]||(e[40]=a("li",null,[a("a",{href:"../architecture/technical-overview"},"Technical Overview"),i(" – Deep dive into glTF and architecture")],-1)),a("li",null,[s(r,{to:"/how-to-guides/xr/"},{default:t(()=>e[37]||(e[37]=[i("XR Documentation",-1)])),_:1,__:[37]}),e[38]||(e[38]=i(" – Build immersive AR and VR experiences",-1))]),e[41]||(e[41]=a("li",null,[a("a",{href:"https://engine.needle.tools/samples",target:"_blank",rel:"noopener noreferrer"},"Browse Samples"),i(" – See what's possible")],-1))]),e[72]||(e[72]=a("p",null,[a("strong",null,"Start Building:")],-1)),a("ul",null,[e[44]||(e[44]=a("li",null,[a("a",{href:"/docs/how-to-guides/scripting/create-components"},"Scripting Guide"),i(" – Create custom components")],-1)),e[45]||(e[45]=a("li",null,[a("a",{href:"/docs/reference/components"},"Component Reference"),i(" – Browse all available components")],-1)),a("li",null,[s(r,{to:"/how-to-guides/deployment/"},{default:t(()=>e[42]||(e[42]=[i("Deployment Guide",-1)])),_:1,__:[42]}),e[43]||(e[43]=i(" – Publish your experiences",-1))])]),e[73]||(e[73]=a("hr",null,null,-1)),a("p",null,[e[47]||(e[47]=i("Have questions? Join our ",-1)),e[48]||(e[48]=a("a",{href:"https://discord.needle.tools",target:"_blank",rel:"noopener noreferrer"},"Discord community",-1)),e[49]||(e[49]=i(" or check out our ",-1)),s(r,{to:"/help/"},{default:t(()=>e[46]||(e[46]=[i("support resources",-1)])),_:1,__:[46]}),e[50]||(e[50]=i(".",-1))])])}const x=p(u,[["render",w]]),A=JSON.parse(`{"path":"/explanation/core-concepts/features-overview.html","title":"Feature Overview","lang":"en-US","frontmatter":{"description":"Complete feature overview of Needle Engine - graphics, animation, physics, networking, XR, UI, and more cross-platform capabilities.","head":[["link",{"rel":"canonical","href":"https://engine.needle.tools/docs/explanation/core-concepts/features-overview.html"}],["meta",{"name":"og:image","content":"https://engine.needle.tools/docs/imgs/default-unfurl-image-2.webp"}],["meta",{"name":"og:description","content":"Complete feature overview of Needle Engine - graphics, animation, physics, networking, XR, UI, and more cross-platform capabilities."}],["meta",{"property":"og:title","content":"Needle Engine Documentation"}]]},"git":{"updatedTime":1774425553000,"contributors":[{"name":"Marcel Wiessler","username":"","email":"[email protected]","commits":43},{"name":"hybridherbst","username":"hybridherbst","email":"[email protected]","commits":9,"url":"https://github.com/hybridherbst"},{"name":"Felix Herbst","username":"","email":"[email protected]","commits":1},{"name":"krisrok","username":"krisrok","email":"[email protected]","commits":1,"url":"https://github.com/krisrok"},{"name":"Krystof","username":"Krystof","email":"[email protected]","commits":1,"url":"https://github.com/Krystof"},{"name":"Claude","username":"Claude","email":"[email protected]","commits":1,"url":"https://github.com/Claude"},{"name":"Claude Opus 4.6","username":"","email":"[email protected]","commits":1}],"changelog":[{"hash":"b89b91e9f2e373dbe86cd2ba2c041c3789b4a502","time":1
10774425553000,"email":"[email protected]","author":"Marcel Wiessler","message":"add how to font page"},{"hash":"4dd5d1bc927ee5339a074ddd06acb1cc7d58631d","time":1774163248000,"email":"[email protected]","author":"Marcel Wiessler","message":"update docs"},{"hash":"7d5f513b182bc6a5624bc64a44efa1ea145e477b","time":1774012446000,"email":"[email protected]","author":"Marcel Wiessler","message":"docs: add fastHDR docs"},{"hash":"c672ebb064facc8cf79c191782444420f668a433","time":1772722660000,"email":"[email protected]","author":"Marcel Wiessler","message":"docs improvements"},{"hash":"97c3195a6974de1bb1d72a5492cccf0c2061dc85","time":1771951810000,"email":"[email protected]","author":"Marcel Wiessler","message":"add materialpropertyblock docs"},{"hash":"8df8d92b46947bb0e477eb9be40323aef6f750f0","time":1770845476000,"email":"[email protected]","author":"Claude","message":"Add cross-links and clarify gltf-progressive ships with Needle Engine","coAuthors":[{"name":"Claude Opus 4.6","email":"[email protected]"}]},{"hash":"c0fc9a8ba66a3e2ab49d7ddb4df76b442d69537a","time":1770760572000,"email":"[email protected]","author":"hybridherbst","message":"clean up llms-full.txt generation"},{"hash":"193d0f352eadebc280160b6979d6b3f0cc0f5b7a","time":1769598556000,"email":"[email protected]","author":"Marcel Wiessler","message":"Move lightmapping info to integrations"},{"hash":"6a86cc83ece35ba9f3519991029b951c5d6e0bf4","time":1769593032000,"email":"[email protected]","author":"Marcel Wiessler","message":"Update guides page, add mobile devices guide, minor scroll improvements"},{"hash":"fee1ca55bc5e650f8ae0a6362f401efa3a0c4740","time":1769591117000,"email":"[email protected]","author":"Marcel Wiessler","message":"meta descriptions"},{"hash":"c8c16f71c0096986c1eb060b0533030aa492a3a2","time":1769536544000,"email":"[email protected]","author":"Marcel Wiessler","message":"fix broken links"},{"hash":"aa746748c7c71a44421ecb69687c15b94bd80516","time":1769535612000,"email":"[email protected]","author":"Marcel Wiessler","message":"Pagenav"},{"hash":"913448edd84c6d301b06d885e5737add4604ead6","time":1769520268000,"email":"[email protected]","author":"Marcel Wiessler","message":"wip restructure"},{"hash":"d8199bafd0e96e1f57ca8495377813d29a4aaa15","time":1769507308000,"email":"[email protected]","author":"Marcel Wiessler","message":"Update index+features pages"},{"hash":"269df397b63ff5183a881bea3fa2ddff7931ef97","time":1769504689000,"email":"[email protected]","author":"Marcel Wiessler","message":"updated XR and features"},{"hash":"834430877a38a62e8394d98e9558d810753ba026","time":1761636375000,"email":"[email protected]","author":"Marcel Wiessler","message":"Add MaterialX link to shader export"},{"hash":"c380c296849aeebda7cdca53c125d17ca1713a23","time":1745318416000,"email":"[email protected]","author":"Marcel Wiessler","message":"Reword features: physics"},{"hash":"c15843f607b5ae25f95038f10060834282cb078a","time":1738682223000,"email":"[email protected]","author":"hybridherbst","message":"fix some link issues, internal links should have .md extension"},{"hash":"433ae7c3df91f86d859b2bf248a9d05aa361ea9b","time":1727125836000,"email":"[email protected]","author":"hybridherbst","message":"adding index pages for unity, blender, three"},{"hash":"d1bb8a7520be74bd36c9a6e315b344597dbd07ea","time":1725399379000,"email":"[email protected]","author":"hybridherbst","message":"start reordering header menu","tag":"release/3.47.9"},{"hash":"777836d88cccad41a890bca296be5ede16fc809d","time":1707764568000,"email":"[email protected]","author":"Krystof","message":"fix sample embeds' url","tag":"release/3.32.22-exp"},{"hash":"17a527f1971f00b02bff7dfbe25a4769c1f4204a","time":1691834989000,"email":"[email protected]","author":"Marcel Wiessler","message":"add some postprocessing documentation"},{"hash":"d19671fc31112f8467477f71d0a4b4d2942544d1","time":1689673780000,"email":"[email protected]","author":"krisrok","message":"Fix swapped links"},{"hash":"c3177bcd671fc87fb7645b220b2e6cd4e92201e0","time":1687627983000,"email":"[email protected]","author":"Marcel Wiessler","message":"MeshColliders are supported","tag":"release/3.7.3-exp"},{"hash":"314de15c50cf53f148b37f4e9ee096ef717cc36a","time":1687627948000,"email":"[email protected]","author":"Marcel Wiessler","message":"features: screenspace UI sample + use animation physics"},{"hash":"3dd44ed9d7c667cb552c06f69608b57ab5e06a1f","time":1687627884000,"email":"[email protected]","author":"Marcel Wiessler","message":"update feature text UI"},{"hash":"ffac7ddb3d34170cbfa3b40a561e4beabdfb6b9a","time":1687627846000,"email":"[email protected]","author":"Marcel Wiessler","message":"update index and feature overview"},{"hash":"335c49491215f9f41d68a966578a4696a22a89ff","time":1684678095000,"email":"[email protected]","author":"Marcel Wiessler","message":"Add features, update export, update everywhere actions"},{"hash":"db8176ef3590fdd3c0f348935065dd8a1f9ebfe3","time":1669763662000,"email":"[email protected]","author":"Felix Herbst","message":"minor adjustments for text etc"},{"hash":"2de797ff5418e44d22833ce1c50ab54e2b267048","time":1668108953000,"email":"[email protected]","author":"Marcel Wiessler","message":"Particles: add a bit more text","tag":"release/2.46.0-pre"},{"hash":"5090e17f5df0a165debf5aad1c79355c427f023c","time":1668107946000,"email":"[email protected]","author":"Marcel Wiessler","message":"Add particles and character controller to samples and overview"},{"hash":"c385c53b7ed16ef2704795562efe24ceaebf7e84","time":1666630994000,"email":"[email protected]","author":"Marcel Wiessler","message":"update embeds with local urls"},{"hash":"faab8f506b6231e57d842a852231c21b11aa55d9","time":1666542505000,"email":"[email protected]","author":"Marcel Wiessler","message":"copyright + update scripting and remove external link icons"},{"hash":"d452f6c48b81526e8f1a1607a63c5a232b60865e","time":1666540087000,"email":"[email protected]","author":"Marcel Wiessler","message":"update"},{"hash":"8acc2c9ade769201ec16be04bdcc407ebd78003e","time":1666455105000,"email":"[email protected]","author":"Marcel Wiessler","message":"testimonial styling and show physics sample in feature overview"},{"hash":"736cfcc244c541518dcec5530444ed2e52035cc9","time":1661274231000,"email":"[email protected]","author":"hybridherbst","message":"Update features-overview.md"},{"hash":"9a378781e03bfc25a6ffad79b9b175923e83328a","time":1661259461000,"email":"[email protected]","author":"Marcel Wiessler","message":"Update features-overview.md"},{"hash":"7a5b932be98ce586eedc00cb58ef34278a95e224","time":1661211424000,"email":"[email protected]","author":"Marcel Wiessler","message":"Update features-overview.md"}
10,{"hash":"905aeee792257b574a5487b7215cc5fc49af83fe","time":1661210592000,"email":"[email protected]","author":"hybridherbst","message":"Update features-overview.md"},{"hash":"50b39aaf9ee19aadf42fe7083647cdcbdddf9f4b","time":1661208116000,"email":"[email protected]","author":"hybridherbst","message":"Update features-overview.md"},{"hash":"15c9dc15ee4b295da1a6b3e5a1f62c4586d99958","time":1661200731000,"email":"[email protected]","author":"Marcel Wiessler","message":"Update features-overview.md"},{"hash":"719aa31baa9be370b63b97ca310b20f7f3cbe853","time":1661199593000,"email":"[email protected]","author":"Marcel Wiessler","message":"Update features-overview.md","tag":"release/2.9.0-pre"},{"hash":"c7589ba8b3eb30771e350053f887223ac9c7511b","time":1661199280000,"email":"[email protected]","author":"Marcel Wiessler","message":"Update features-overview.md"},{"hash":"184427832af98dbc8f1e72adacad7b0572448044","time":1661198704000,"email":"[email protected]","author":"Marcel Wiessler","message":"Update features-overview.md"},{"hash":"2965aa12b11f2a121f25fb92328bf5ea4d5665e3","time":1661180136000,"email":"[email protected]","author":"hybridherbst","message":"Update features-overview.md"},{"hash":"09370cea0f68992c5072d6ff5fed3ff6af1cd08c","time":1661172509000,"email":"[email protected]","author":"hybridherbst","message":"Update features-overview.md"},{"hash":"86aae6b7b1790c46b3cd02695f31d9f071b13e0b","time":1661106945000,"email":"[email protected]","author":"Marcel Wiessler","message":"Update features-overview.md"},{"hash":"8d6d262c6d83003fce5a99eba4cc8964c20429a4","time":1661106912000,"email":"[email protected]","author":"Marcel Wiessler","message":"Update features-overview.md"},{"hash":"ce6a16abb9042900e61805daaf2ad3a0f10ae098","time":1661106588000,"email":"[email protected]","author":"Marcel Wiessler","message":"Update features-overview.md"},{"hash":"cbff7c5dd071d9c2d55dd3e0fe36a11ecd6f875b","time":1661106569000,"email":"[email protected]","author":"Marcel Wiessler","message":"Update features-overview.md"},{"hash":"8fe7a7274a56edafe453779ba24988c9587c9813","time":1661106119000,"email":"[email protected]","author":"Marcel Wiessler","message":"Update features-overview.md"},{"hash":"3e99467953a4ea266c6926231b12bf3b03f4d5a5","time":1661106067000,"email":"[email protected]","author":"Marcel Wiessler","message":"Update features-overview.md"},{"hash":"8941c5830934dbfce3fb529fe26ce54fd0c66145","time":1660917846000,"email":"[email protected]","author":"Marcel Wiessler","message":"Update features-overview.md"},{"hash":"526d956e7854476dfe9463562170c3a1e4f60abf","time":1660917467000,"email":"[email protected]","author":"Marcel Wiessler","message":"Update features-overview.md"},{"hash":"15ff0d7547317fd3647be24902fe5defbbc7b0bb","time":1660916493000,"email":"[email protected]","author":"Marcel Wiessler","message":"Update features-overview.md"},{"hash":"e6ea3193510351b18ec27c853c05608474686f88","time":1660916350000,"email":"[email protected]","author":"Marcel Wiessler","message":"Create features-overview.md"}]},"filePathRelative":"explanation/core-concepts/features-overview.md"}`);export{x as comp,A as data};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.