Skip to content

Commit 07d124a

Browse files
authored
Update README (#406)
1 parent 007aed2 commit 07d124a

File tree

1 file changed

+21
-16
lines changed

1 file changed

+21
-16
lines changed

README.md

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,33 @@
1-
# Babylon React Native
2-
3-
This project provides Babylon Native integration into React Native.
4-
51
[![](https://github.com/BabylonJS/BabylonReactNative/workflows/Publish%20Package/badge.svg)](https://github.com/BabylonJS/BabylonReactNative/actions?query=workflow%3A%22Publish+Package%22)
62
[![npm version](https://badge.fury.io/js/%40babylonjs%2Freact-native.svg)](https://badge.fury.io/js/%40babylonjs%2Freact-native)
7-
[![BabylonNative master branch update](https://github.com/BabylonJS/BabylonReactNative/actions/workflows/bn_master_commit.yml/badge.svg)](https://github.com/BabylonJS/BabylonReactNative/actions/workflows/bn_master_commit.yml)
3+
4+
# Babylon React Native
5+
6+
Babylon React Native brings the power and flexibility of [Babylon.js](https://github.com/BabylonJS/Babylon.js) into a [React Native](https://github.com/facebook/react-native) environment via [Babylon Native](https://github.com/BabylonJS/BabylonNative).
87

98
## Current Status
109

11-
Babylon React Native is in the early phase of its development, and has the following limitations:
10+
### Limitations
1211

13-
1. Android and iOS support only - support for Windows is planned, but the timeline is currently unknown.
12+
1. Android and iOS only - support for Windows is experimental.
1413
1. Touch input only - mouse, keyboard, and controllers are not yet supported.
1514
1. Single view only - multiple views are not yet supported (only a single view can be displayed).
1615

17-
It is also worth noting that Babylon React Native relies heavily on newer React Native constructs including JSI to get the performance characteristics required for real time rendering. JSI allows for direct synchronous communication between native code and JavaScript code, but is incompatible with "remote debugging." If you need to debug your JavaScript code that uses Babylon React Native, you should enable Hermes and use "direct debugging" (e.g. chrome://inspect or edge://inspect). See the [React Native documentation](https://reactnative.dev/docs/hermes) for more info.
16+
### What is Supported from Babylon.js
17+
18+
See [this](https://github.com/BabylonJS/BabylonNative#what-is-supported-from-babylonjs) from the Babylon Native repo.
19+
20+
### Performance
21+
22+
React Native applications targeting [JavaScriptCore on iOS](https://reactnative.dev/docs/javascript-environment#javascript-runtime) or [Hermes](https://reactnative.dev/docs/hermes) will not have JIT enabled. This may cause performance issues for JavaScript heavy scenarios.
23+
24+
### Other
25+
26+
Babylon React Native relies heavily on newer React Native constructs including JSI to get the performance characteristics required for real time rendering. JSI allows for direct synchronous communication between native code and JavaScript code, but is incompatible with "remote debugging." If you need to debug your JavaScript code that uses Babylon React Native, you should enable Hermes and use "direct debugging" (e.g. chrome://inspect or edge://inspect). See the [React Native documentation](https://reactnative.dev/docs/hermes) for more info.
1827

1928
## Usage
2029

21-
See the [package usage](Modules/@babylonjs/react-native/README.md) for installation instructions and/or the Playground app's [App.tsx](Apps/Playground/App.tsx) for example usage.
30+
See the [package usage](Modules/@babylonjs/react-native/README.md) for installation instructions and/or the Playground app's [App.tsx](Apps/Playground/App.tsx) for example usage. You can also clone [this sample repo](https://github.com/BabylonJS/BabylonReactNativeSample) to quickly get started.
2231

2332
## Contributing
2433

@@ -104,11 +113,13 @@ export PATH=$PATH:$ANDROID_HOME/tools/bin
104113
export PATH=$PATH:$ANDROID_HOME/platform-tools
105114
```
106115

107-
**Troubleshootings:**
116+
### **Troubleshooting**
108117
- If the Metro server is not started with `npm run android` , you can start it manually by running `npm run start` in a terminal.
109118
- Android Studio is the tool of choice for downloading the various versions of NDK.
110119
- If something goes wrong with the build `npm run android --verbose` can give some hints.
111120
- If the emulator is not launched by the build, you can run `~/Android/Sdk/emulator/emulator @name_of_your_image`.
121+
- For other emulator issues, follow the [instructions](https://github.com/BabylonJS/BabylonNative/blob/master/Documentation/AndroidEmulator.md) from Babylon Native documentation.
122+
- Refer to the [Babylon Native documentation](https://github.com/BabylonJS/BabylonNative/tree/master/Documentation#babylon-native-documention) for additional information that may help troubleshoot issues.
112123

113124
### **Building and Running the Playground App**
114125

@@ -210,9 +221,3 @@ For iOS the XCode project needs to be generated with `CMake` as described [above
210221
## Security
211222

212223
If you believe you have found a security vulnerability in this repository, please see [SECURITY.md](SECURITY.md).
213-
214-
## Known Issues
215-
216-
We have seen issues when using npm 7+ to install local symbolic linked npm packages. For this reason, we suggest using npm 6.13 for BabylonReactNative development. To install npm 6.13, run the following command:
217-
218-
`npm install -g [email protected]`

0 commit comments

Comments
 (0)