0. How do I gain access to the private github repo?
Use the
/collab
cmd in our
Discord server. You will need to provide your Github username and the Order/Invoice number from the Asset Store.
After that, you'll gain the @Collaborator
role in our Discord server and access to the private Github repo. The repo contains early features and fixes not yet available on the Asset Store
1. What is OneJS and how does it work with Unity?
OneJS allows you to use JavaScript in Unity with direct integration with UI Toolkit. Similar to React Native, it bypasses the browser and interacts natively with Unity's built-in UI system.
On top of that, OneJS brings modern web development tools and practices to Unity, such as TypeScript, (P)React, Tailwind, ESBuild, Node modules, and more. Because it's designed specifically for Unity, you can expect an optimized and seamless dev experience.
2. What are the main benefits of using OneJS over traditional Unity UI development?
The key benefits include:
- Faster iteration speed with live reloading of UI changes
- Familiar tooling for web developers (TypeScript, (P)React, Tailwind, ESBuild etc.)
- More flexible and maintainable UI code using component-based architecture
- Ability to future-proof using UI Toolkit which will replace Unity UI eventually
- Ability to use TypeScript and JSX to offer modding support for your community
3. Does OneJS work on all Unity platforms?
OneJS has been tested to work on Windows, Mac, iOS, Android, and Steamdeck. WebGL support is planned for the future.
Linux and Consoles are not officially supported. However, some users report that OneJS works on Linux with minor tweaks, which may vary depending on your distro.
4. How does OneJS handle performance, especially on mobile devices?
OneJS is designed to be lightweight and performant. Internally, it uses
PuerTS which provides multiple backend options (QuickJS, V8, NodeJS) to balance between performance and build size. For optimal performance, especially on mobile, it's recommended to use the V8 backend and leverage PuerTS's static wrappers and blittable optimizations to minimize garbage collection.
5. Can I use npm packages with OneJS?
Yes, starting with OneJS V2 you can use npm packages. When using the NodeJS backend, you will be able to use any package that's meant for the node environment. However, do note that UI Toolkit, which is what OneJS uses as the Dom layer, is not a fullfledged browser environment, so some DOM- or browser-dependent packages may not work as expected. See our
Limitations page for more info.
6. Is OneJS suitable for complex UI systems in large-scale games?
Yes, OneJS is designed to scale well for complex UI systems. (P)React's component-based architecture allows for building modular and maintainable UI code. The ability to use TypeScript also helps manage complexity in larger projects.
On that note, we are also looking to add support for Svelte in a future update.
7. How does styling work in OneJS?
OneJS supports multiple styling approaches:
Tailwind for utility-first styling
Styled-components and Emotion-like APIs for CSS-in-JS
Runtime USS (Unity Style Sheets) for dynamic styling
Static USS files
This flexibility allows developers to choose the styling approach that best fits their project and team preferences.
8. What kind of learning curve can I expect when adopting OneJS?
The learning curve will depend on your background. Web developers familiar with React and TypeScript will find OneJS relatively easy to pick up. Unity developers with little web experience may need some time to adjust to the component-based architecture and TypeScript.
OneJS provides comprehensive documentation and examples to help smooth the learning process.
9. Is OneJS actively maintained and supported?
Yes, OneJS is actively maintained and supported. We regularly release updates, bug fixes, and new features. There's also an active community on Discord where users can get help, share tips, and showcase their work.
10. Will OneJS ever be open-sourced?
Yes, we have a dedicated roadmap page for this.
11. What's the next big feature after V2?
There are lots! You can also refer to our roadmap for this one.