Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
b9adbe1
fix: Add Expo compatibility for iOS Unity framework integration
Th0mYT Nov 12, 2025
d2e7fc1
New Arch initWithFrame:: call initUnityModule so Unity starts regardl…
Th0mYT Feb 20, 2026
094ca48
fix: add iOS Fabric registration for RNUnityView and fix Android stri…
Th0mYT Feb 20, 2026
977ef46
Add private field to package.json
Th0mYT Feb 20, 2026
f707236
fix: type casting in UPlayer and update .gitignore
Th0mYT Feb 24, 2026
29fce81
fix: correct type casting in UPlayer and add pack script to package.json
Th0mYT Feb 24, 2026
e9aed18
fix: update plugin mods to prevent duplicate entries and extend .giti…
Th0mYT Feb 24, 2026
d360510
fix: update clean script and simplify plugin configuration
Th0mYT Feb 25, 2026
76a4a1d
fix: extend tsconfig paths and update build process for plugin
Th0mYT Feb 25, 2026
c94c4dd
fix: update plugin mod checks to prevent redundant unityLibrary entri…
Th0mYT Feb 27, 2026
947e74c
fix: remove unnecessary error throw in plugin mod to simplify config …
Th0mYT Feb 27, 2026
d4c4564
fix: refactor plugin mod to prevent duplicate
Th0mYT Mar 2, 2026
c8fe0c5
fix: update package version and extend .gitignore for Unity package
Th0mYT Mar 2, 2026
d0e9fbb
fix: trim the end of the lines to prevent trailing whitespace issues
Th0mYT Mar 2, 2026
d34890c
fix: bump package version to 1.0.13
Th0mYT Mar 2, 2026
d34e4ad
fix: bump package version to 1.0.13
Th0mYT Mar 2, 2026
e72563b
fix: remove "private" flag from package.json
Th0mYT Mar 3, 2026
9c59f3e
fix: remove jcenter() from the repositories block, it was shut down
Th0mYT Mar 3, 2026
6406919
feat: added imports, tag constants and fix the createPlayer method
Th0mYT Mar 3, 2026
3857919
feat: new architecture compatibility
Th0mYT Mar 3, 2026
a0c00c2
feat: replaced getConstructors()[1] with a loop that finds the constr…
Th0mYT Mar 3, 2026
c929764
fix: event dispatch, pause state, and view lifecycle
Th0mYT Mar 3, 2026
ea3aa97
Merge branch 'refs/heads/main' into fix/expo-compatibility
Th0mYT Mar 3, 2026
32f796f
fix: getSurfaceId is now wrapped in a try-catch
Th0mYT Mar 3, 2026
60c1aef
fix: disable predictive back gesture to prevent crashes on older Andr…
Th0mYT Mar 4, 2026
a105b74
chore: bump package version to 1.0.14
Th0mYT Mar 4, 2026
95fe733
fix: ensure thread safety for Unity callbacks and event dispatch
Th0mYT Mar 5, 2026
5f86bcb
chore: bump package version to 1.0.15
Th0mYT Mar 5, 2026
0ae02f3
fix: force Unity frame layout in new architecture to ensure valid dim…
Th0mYT Mar 5, 2026
4a8afd9
fix: improve Unity frame layout handling and event dispatch in new ar…
Th0mYT Mar 5, 2026
3d6cb0f
fix: improve Unity frame visibility and rendering timing
Th0mYT Mar 5, 2026
9efd858
chore: bump package version to 1.0.19
Th0mYT Mar 5, 2026
9ee29fc
fix: improve Unity surface handling to avoid black screens after re-p…
Th0mYT Mar 5, 2026
30b56c2
chore: bump package version to 1.0.20
Th0mYT Mar 5, 2026
2a98717
chore: update `pack` script to include `clean` and `prepare` steps be…
Th0mYT Mar 5, 2026
e050764
fix: improve Unity resume timing and rendering surface readiness
Th0mYT Mar 5, 2026
6982c6f
chore: bump package version to 1.0.21
Th0mYT Mar 5, 2026
2d9ec75
fix: pause Unity rendering before surface destruction to prevent crashes
Th0mYT Mar 5, 2026
932fb4f
chore: bump package version to 1.0.22
Th0mYT Mar 5, 2026
5b67c55
fix: update UnityPlayer instantiation and flag handling for API 30+ c…
Th0mYT Mar 6, 2026
6e1a9ab
chore: bump package version to 1.0.23
Th0mYT Mar 6, 2026
bd80290
fix: enhance Unity surface handling with timeout fallback and measure…
Th0mYT Mar 6, 2026
6c35fa1
chore: bump package version to 1.0.24
Th0mYT Mar 6, 2026
db9b4e2
chore: bump package version to 1.0.25
Th0mYT May 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ version: 2.1
executors:
default:
docker:
- image: circleci/node:10
- image: cimg/node:18.20
working_directory: ~/project

commands:
Expand Down
4 changes: 2 additions & 2 deletions .github/actions/setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ runs:
using: composite
steps:
- name: Setup Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version-file: .nvmrc

- name: Cache dependencies
id: yarn-cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
**/node_modules
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Setup
uses: ./.github/actions/setup
Expand All @@ -27,7 +27,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Setup
uses: ./.github/actions/setup
Expand All @@ -39,7 +39,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Setup
uses: ./.github/actions/setup
Expand All @@ -53,13 +53,13 @@ jobs:
TURBO_CACHE_DIR: .turbo/android
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Setup
uses: ./.github/actions/setup

- name: Cache turborepo for Android
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ env.TURBO_CACHE_DIR }}
key: ${{ runner.os }}-turborepo-android-${{ hashFiles('**/yarn.lock') }}
Expand All @@ -76,7 +76,7 @@ jobs:

- name: Install JDK
if: env.turbo_cache_hit != 1
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '11'
Expand All @@ -88,7 +88,7 @@ jobs:

- name: Cache Gradle
if: env.turbo_cache_hit != 1
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
~/.gradle/wrapper
Expand All @@ -107,13 +107,13 @@ jobs:
TURBO_CACHE_DIR: .turbo/ios
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Setup
uses: ./.github/actions/setup

- name: Cache turborepo for iOS
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ env.TURBO_CACHE_DIR }}
key: ${{ runner.os }}-turborepo-ios-${{ hashFiles('**/yarn.lock') }}
Expand All @@ -131,7 +131,7 @@ jobs:
- name: Cache cocoapods
if: env.turbo_cache_hit != 1
id: cocoapods-cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
**/ios/Pods
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,4 @@ android/keystores/debug.keystore

# generated by bob
lib/
/azesmway-react-native-unity-*.tgz
30 changes: 28 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ Attention! Added support for Unity 2023 and above

# Installation

## Install this package in your react-native project:

```sh
npm install @azesmway/react-native-unity

Expand All @@ -29,6 +27,20 @@ or
yarn add @azesmway/react-native-unity
```

For Expo projects (SDK 48+)

1. Run prebuild
```sh
npx expo prebuild --clean
```
2. Build your app
```sh
npx expo run:ios
```

**Note for Expo users**: The UnityFramework must be placed at `<project_root>/unity/builds/ios/` before running `expo prebuild`.


## Configure your Unity project:

1. Copy the contents of the folder `unity` to the root of your Unity project. This folder contains the necessary scripts and settings for the Unity project. You can find these files in your react-native project under `node_modules/@azesmway/react-native-unity/unity`. This is necessary to ensure iOS has access to the `NativeCallProxy` class from this library.
Expand Down Expand Up @@ -179,6 +191,20 @@ const Unity = () => {
export default Unity;
```

## Automatic Setup with Expo Config Plugin

Add the plugin to your `app.json`:

```json
{
"expo": {
"plugins": [
"@azesmway/react-native-unity"
]
}
}
```

## Props

- `style: ViewStyle` - styles the UnityView. (Won't show on Android without dimensions. Recommended to give it `flex: 1` as in the example)
Expand Down
1 change: 0 additions & 1 deletion android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,6 @@ repositories {
}
google()
mavenCentral()
jcenter()
}


Expand Down
Loading