react-brain
Browse decisions
React & language foundations 3App architecture 9UI 12Platform & native 9Build, test, observe, secure 6AI in React apps 3stack composerdecision recordscensusstaleness bencharchitecturechangelogmethodologyroadmap

entriesplatform-native · verified 2026-07-10 · react-native

Games, 3D & AR/VR — interactive / real-time rendering

draftedconfidence: lowearly: 1/12 of this tier graded so far (0 overturned) — the public scorecard →

re-verified 3× — 2026-07-10 · 2026-07-09 · 2026-07-06 · changelog

recommendation

2D / interactive visuals → react-native-skia. Declarative 3D inside a normal app → react-three-fiber (+expo-gl). Real game engine → embed Godot (react-native-godot). AR/VR → ReactVision. RN suits supplemental/interactive experiences more than AAA games.

  • simple 2D game loop → react-native-game-engine
  • 3D / compute shaders → WebGPU (react-native-wgpu), advanced
  • 3D product views / scenes in an app → @react-three/fiber + expo-gl (no engine needed)
  • mobile AR or cross-platform VR incl. Meta Quest → ReactVision (@reactvision/react-viro; New Arch required)
  • Apple Vision Pro app → react-native-visionos (Callstack fork; check its RN-version lag first)

Low confidence — fast-moving or lightly-vetted domain: treat the pick as a vetted lead and prototype before committing.

Options & tradeoffs

the field considered — and why each one isn’t the default here

optiontradeoffevidence
react-native-skiaGPU 2D drawing loop; common base for RN games/visuals
react-native-godot (@borndotcom)embed the Godot engine (RTNGodotView; by Born & Migeran); runs off-thread (separate from RN's JS thread)
WebGPU (react-native-webgpu, formerly react-native-wgpu)3D render pipelines on Google's Dawn (by William Candillon, not Software Mansion); UI-thread via Reanimated/worklets; advanced19k/wk
react-native-game-engineentity-component loop for simple 2D games; effectively unmaintained (last release v1.2.0, 2020)2k/wk
@react-three/fiber (three.js)declarative 3D scenes as React components; v9 runs in RN via expo-gl — the 3D-in-an-app path without a game engine
ReactVision (@reactvision/react-viro)AR/VR from one RN codebase (iPhone/Android AR + Meta Quest) — the maintained fork of react-viro; New Architecture (Fabric) REQUIRED; active (2.57.x, 2026-07)3k/wk
react-native-visionos (Callstack)full RN fork targeting Apple Vision Pro / visionOS SDK (~1.1k★); CAUTION: pinned to RN 0.78 (2025-03), lags core by ~a year — verify parity before betting

evidence: npm weekly downloads (signals snapshot) · “ships in n/D” = adoption across the production-app census, honest denominators

npm weekly downloads (from the corpus's last signals run): @reactvision/react-viro 3k · @react-three/fiber 3.5M · @borndotcom/react-native-godot 646 · react-native-wgpu 19k · react-native-game-engine 2k

Verified notes

Niche; RN suits supplemental/interactive experiences more than AAA games. AR/VR + 3D options added 2026-07-09 (gap flagged by Native Weekly #15's ReactVision feature, promoted on user's call): ReactVision is the maintained Viro lineage (verified vs npm — Fabric required, published 2026-07); react-native-visionos verified vs the Callstack repo (latest v0.78.0, 2025-03 — the version-lag caveat is the load-bearing fact); react-three-fiber v9 verified vs npm. FIRST-PARTY QUEST (2026-07-10, verified vs the official RN blog): React Native now supports Meta Quest / Horizon OS directly via the `expo-horizon-core` config plugin, with Expo Go on the Horizon Store — a first-party 2D-panel path beside ReactVision's immersive AR/VR.

Canonical reading

Editorial annotations on why each piece matters — the articles themselves are the originals; read them there.

React Native Skia — For Us, For You, and For FunColin Gray (Shopify)

The foundational architecture of react-native-skia: JSI for direct C++/JS communication, a custom React reconciler powering the declarative API, and Reanimated-driven animation. The enduring design under RN's 2D GPU drawing — the base for RN games and interactive visuals.

Sources

Depth (in-domain rules) is owned by the react-native-best-practices skill — this entry is selection breadth.

Related in platform-native: native · media · storage · native-ui · keyboard · payments · brownfield · alt-frameworks