π§ A real-time physically based 3D rendering engine for React Native
See the code
react-native-filament is a powerful 3D rendering engine for React Native. It features:
See the installation guide in the docs.
import { FilamentScene, FilamentView, Model, Camera, DefaultLight } from 'react-native-filament'
function App() {
return (
<FilamentScene>
<FilamentView
style={{ width: 100, height: 100 }}
model={model}
>
{/* Render with the default camera and light: */}
<Camera />
<DefaultLight >
{/* Add a model to the scene (only glb supported yet): */}
<Model source={require('./duck.glb')}>
</FilamentView>
</FilamentScene>
)
}
See the example app
One library to render 3D content is expo-gl usually used together with expo-three. react-native-filament has a few advantages over expo-gl:
glb files out of the boxexpo-three, where react-native-filament uses a separate thread (and filament processes the rendering commands in a pool of different threads)We welcome contributions to react-native-filament! π
After cloning the repo make sure you have the submodules clones as well:
git submodule update --init --recursive --depth 1
Install all node modules (including the examples)
cd package
bun i
And finally build filament and bullet3:
# Inside ./package
bun build-bullet3
bun build-filament:release # or yarn build-filament:debug
You can then build one of the example apps in package/example/AppExamplePaper or package/example/AppExampleFabric.
Note: If building filament fails for you, you can download the pre-built binaries from the npm package.
Simply run bun setup-filament-quick. The binaries will be in release build and any edits in /filament will be ignored (as you're not building from source in this case).
react-native-filament is provided as is.
If you need help with integrating react-native-filament in your app or have additional bugfixing or feature requests, reach out to us at margelo.com.
react-native-filament was built for- and mostly funded by Slay - the creators of Pengu! π§ Without them, react-native-filament wouldn't exist, so thanks Slay! β€οΈ
react-native-filament uses filament (an amazing library by Google), and bullet3 (an amazing physics library by Bullet Physics). Without those core libraries and the geniuses behind them, react-native-filament wouldn't exist - so thanks Google & Bullet! β€οΈ
The example app in this project uses several free assets:
1,854 followers Β· starred Jul 2024
3,240 followers Β· starred Jul 2024
352 followers Β· starred Jul 2024
60 followers Β· starred Jan 2026
π§ A real-time physically based 3D rendering engine for React Native
See the code
react-native-filament is a powerful 3D rendering engine for React Native. It features:
See the installation guide in the docs.
import { FilamentScene, FilamentView, Model, Camera, DefaultLight } from 'react-native-filament'
function App() {
return (
<FilamentScene>
<FilamentView
style={{ width: 100, height: 100 }}
model={model}
>
{/* Render with the default camera and light: */}
<Camera />
<DefaultLight >
{/* Add a model to the scene (only glb supported yet): */}
<Model source={require('./duck.glb')}>
</FilamentView>
</FilamentScene>
)
}
See the example app
One library to render 3D content is expo-gl usually used together with expo-three. react-native-filament has a few advantages over expo-gl:
glb files out of the boxexpo-three, where react-native-filament uses a separate thread (and filament processes the rendering commands in a pool of different threads)We welcome contributions to react-native-filament! π
After cloning the repo make sure you have the submodules clones as well:
git submodule update --init --recursive --depth 1
Install all node modules (including the examples)
cd package
bun i
And finally build filament and bullet3:
# Inside ./package
bun build-bullet3
bun build-filament:release # or yarn build-filament:debug
You can then build one of the example apps in package/example/AppExamplePaper or package/example/AppExampleFabric.
Note: If building filament fails for you, you can download the pre-built binaries from the npm package.
Simply run bun setup-filament-quick. The binaries will be in release build and any edits in /filament will be ignored (as you're not building from source in this case).
react-native-filament is provided as is.
If you need help with integrating react-native-filament in your app or have additional bugfixing or feature requests, reach out to us at margelo.com.
react-native-filament was built for- and mostly funded by Slay - the creators of Pengu! π§ Without them, react-native-filament wouldn't exist, so thanks Slay! β€οΈ
react-native-filament uses filament (an amazing library by Google), and bullet3 (an amazing physics library by Bullet Physics). Without those core libraries and the geniuses behind them, react-native-filament wouldn't exist - so thanks Google & Bullet! β€οΈ
The example app in this project uses several free assets:
1,854 followers Β· starred Jul 2024
3,240 followers Β· starred Jul 2024
352 followers Β· starred Jul 2024
60 followers Β· starred Jan 2026