DocumentationIntroduction

Introduction

Welcome to Reactylon, a powerful and intuitive rendering library built on top of Babylon.js, designed to simplify 3D development within React. This library allows developers to create full immersive experience in a declarative way, unlocking the full potential of React’s component-based architecture for interactive 3D applications.

Whether you’re building immersive games, product visualizations, or interactive web applications, this library simplifies Babylon.js development for web, mobile, and XR platforms, allowing you to focus on delivering compelling 3D experiences.

Why Use Reactylon?

Reactylon abstracts away much of the complexity involved in Babylon.js development, making it easier to manage and create 3D scenes without losing the flexibility or performance of Babylon.js. By adopting a React-like paradigm, developers can create 3D scenes using familiar JSX syntax. This approach automates key Babylon.js lifecycle tasks, such as object instantiation and disposal, scene injection, managing parent-child relationships within the scene graph, and more, making the development process more intuitive and efficient.

What sets this library apart is its ability to work seamlessly across platforms, allowing you to develop immersive experiences that can run on web, mobile, and XR devices like VR/AR headsets. Whether through Progressive Web Apps (PWAs) or leveraging Babylon Native and React Native, your 3D applications can deliver high performance on a wide range of devices.

Key Features

  • Declarative Syntax for Babylon.js: Write 3D scenes in JSX, leveraging the power of declarative UI that React developers love, with seamless integration into the Babylon.js rendering engine.
  • Automatic Object Management: No need to manually dispose of Babylon.js objects. Reactylon automatically handles the disposal of objects like meshes, cameras, and lights when their corresponding components are destroyed, ensuring efficient resource management and preventing memory leaks.
  • Cross-Platform Support: Your applications can run not only on desktop and mobile browsers via PWAs, but also on VR/AR headsets. Thanks to Babylon Native and React Native integration, you can deploy your 3D applications natively to mobile devices and XR headsets with ease, expanding your audience reach across devices.
  • Scene Injection: Scene management is simplified, with automatic injection of the Babylon.js scene object into every component. This reduces boilerplate and lets you focus on building rich 3D experiences.
  • Parent-Child Relationships: Components are automatically added/removed to their correct parents, making it easier to build complex hierarchies of meshes, lights, and cameras without manually managing Babylon.js’s scene graph.
  • Enhanced React Integration: Deep React integration allows for easy state management, component composition, and hooks, ensuring a seamless development experience that leverages React’s full power in 3D rendering.

How Does It Work?

Under the hood, Reactylon is based on a custom React reconciler playing a crucial role in allowing me to build a custom integration between React and Babylon.js. This library enables us to use JSX to write and manage Babylon.js elements in a declarative way, making it easier to interact with 3D graphics while leveraging the power of React’s component-based architecture.