![]() |
VOOZH | about |
| Developer(s) | Paulo Ragonha, Fernando Vรญa Canel, Marlon Huber-Smith, Anna Pรครคrni, Oleg Kozitsyn, Danila Dergachev, Omar ElGaml, James Nicholls |
|---|---|
| Publisher(s) | Mojang Studios |
| Platform(s) | Same as in Bedrock Edition, Minecraft Education, and China Edition |
| Engine | Coherent Gameface |
| Written in | TypeScript and JavaScript |
| Latest version | React Facet: v18.6.0 |
| Release date | First commit on October 11, 2021[1] |
| Size | 1.57MB |
| License | MIT License |
| Source available | Yes |
| Links |
{
"title": "Ore UI",
"rows": [
{
"field": "Paulo Ragonha, Fernando Vรญa Canel, Marlon Huber-Smith, Anna Pรครคrni, (link to Oleg Kozitsyn article, displayed as Oleg Kozitsyn), Danila Dergachev, Omar ElGaml, James Nicholls",
"label": "Developer(s)"
},
{
"field": "(link to Mojang Studios article, displayed as Mojang Studios)",
"label": "Publisher(s)"
},
{
"field": "Same as in ''(link to Bedrock Edition article, displayed as Bedrock Edition)'', ''(link to Minecraft Education article, displayed as Minecraft Education)'', and ''(link to China Edition article, displayed as China Edition)''",
"label": "Platform(s)"
},
{
"field": "[https://coherent-labs.com/products/coherent-gameface/ Coherent Gameface]",
"label": "Engine"
},
{
"field": "(link to wikipedia:TypeScript article, displayed as TypeScript) and (link to wikipedia:JavaScript article, displayed as JavaScript)",
"label": "Written in"
},
{
"field": "React Facet: [https://github.com/Mojang/ore-ui/releases/tag/v18.6.0 v18.6.0]",
"label": "Latest version"
},
{
"field": "First commit on October 11, 2021",
"label": "Release date"
},
{
"field": "1.57MB",
"label": "Size"
},
{
"field": "(link to wikipedia:MIT License article, displayed as MIT License)",
"label": "License"
},
{
"field": "Yes",
"label": "<span style=\"white-space:normal\">Source available</span>"
},
{
"field": "\n* [https://github.com/Mojang/ore-ui Website]",
"label": "Links"
}
],
"invimages": [],
"images": [
"Ore UI.png"
]
}
Ore UI is a collection of open source packages designed for building interactive video game user interfaces using web technology, written in the TypeScript programming language and utilizing the React library. It provides reusable building blocks for video game development and general-purpose web applications.[2] Ore UI is currently used in Minecraft games such as Bedrock Edition, Bedrock Editor, Minecraft Education, China Edition, and Minecraft Legends.
In Bedrock Edition, a new UI design system is being developed using the Gameface engine (formerly Hummingbird[5]) by Coherent Labs,[6][7][8] which made it possible to run modern web technology such as JavaScript, HTML and CSS.[9]
On November 9, 2018, Tobias Ahlin, the lead experience designer at Mojang Studios, announced a UI overhaul coming to Bedrock Edition built on Hummingbird engine, which runs a subset of HTML and CSS, and a design system built with React.[7] A tech preview for the title screen redesign featuring a user-friendly input for touch, controller, and keyboard was shown at the dotJS 2018 developer conference.
The new title screen from the tech preview features two pages. The top page shows the player's last played world, with the background UI that changes to match the world's thumbnail. The bottom page shows five interactable buttons and their actions possibly:
There is also a profile button (with the player's profile picture) on the top right corner, which likely lets the player navigate to their profile screen.
The website for Minecraft JavaScript API documentation was once available through a link which can be seen near the end of the talk; the documentation provides the page to the tech preview where users could freely interact with the redesigned user interface.[7] The original link for the documentation now redirects to a completely different website, making the documentation inaccessible; it is now considered lost media as it has not been archived elsewhere.
In beta 1.16.100.50, released on July 31, 2020, the new achievements screen was added. It was rolled out initially for 5 percent of the player base.[10] For the next 9 weeks, the number of players who could access the new achievement UI gradually increased from 5% to 75%.[11]
In the following years, more JSON UI menu screens were gradually refreshed with Ore UI, with design previews available in Minecraft Preview before full release in usually a few months. The internal resources for Ore UI include a texture atlas containing revamped textures for in-game GUIs, such as the inventory. These have been teased to be in early development.
On October 18, 2021, the React Facet source code was published on Ore UI GitHub repository under the MIT License.[12]
On October 25, 2021,[13] Paulo Ragonha, a tech lead at Mojang Studios, introduced React Facet, an observable-based state management for video game user interface built in React.[6] This was announced at the React Advanced 2021 developer conference. In the talk, Ragonha showcases how React Facet bridges game data by introducing a system that connects the backend C++ game engine (where the game's states reside) with the frontend JavaScript UI. This connection relies on a concept called "facets", which are lightweight observable objects representing slices of the game's state. These facets allow the UI to subscribe to specific pieces of data from the game engine, such as player health, inventory, or environmental changes, and receive real-time updates as the state changes in the game.
The Ore UI design system can be found inside the Ore UI Developer Page section in the Minecraft Bedrock Developer Mode. For all texture elements, see Bedrock Edition GUI, UI, and Ore UI textures ยง Ore UI.
The menu screens updated with Ore UI implemented new features using the design system, such as informative (and sometimes humorous) descriptions, smaller fonts for readability, clearer and modern layouts, more responsive sliders, more different types of elements, and tags. The buttons are styled similarly to JSON UI, with updated looks, pressing animations, and exclusive sounds for progressive buttons. Certain menus have received additional animations and images, and all UI textures have been updated, including controller hints.
Unlike JSON UI, Ore UI menus are separated into sections containing the elements. Depending on the UI scaling, each section is individually scaled, leaving gaps for the panorama in smaller scales, while some elements like the top navigation bar remain responsive. Dropdown buttons, which open an options pop-up, are replaced with always visible toggle buttons on smaller UI scales. Ore UI supports an additional accessibility scaling option to increase the scaling.
Ore UI is currently used in the following menu screens (including sub-menus):
Additionally, the toast that appears after 15 minutes of inactivity, along with the overlay, is based on Ore UI.
| Features | JSON UI (Legacy) |
Ore UI (Modern) |
|---|---|---|
| Creator customization |
|
|
| Color codes and emojis | Supports specific layout properties, color codes, and emojis. | Does not support color codes[17][18][19] on various screens, however, on the death screen in the name of the player or item or mob that killed them, and on the new forms screen in the label it is supported, not understanding emojis[20][21] they are not supported natively in text fields. |
| Status | Planned to be removed on future updates.[citation needed] | Currently in active development. |
| Performance | Can be unoptimized, leading to lower FPS, long loading times, and general poor user experience, especially with a lot of custom UI.[citation needed] | Aims for better performance, though some users have reported micro-freezes and lag issues[22], particularly on consoles. |
| Availability | Available by default on screens that are not yet migrated to Ore UI. | Available on few select screens (Play, Settings, Create World, and Achievements). Though it may fallback to legacy JSON UI on specific cases.โ[more information needed] |
| Accessibility | Limited built-in scaling. | Better support for different screen sizes. |
| Visuals | Pixel-perfect scaling; classic layout. | Modern visuals, but cited for blurry text and clunky button spacing. |
| Technology | Data-driven using JSON files. | Developed using modern web technology (JavaScript, HTML, CSS) and the Gameface engine by Coherent Labs. |
| Technical details | UI elements are defined in resource packs, specifically under <resource pack>/ui directory.
|
UI elements are defined internally in the game's installation files, specifically under Content/data/gui/dist/hbui.
|
| Sounds | |||||||
|---|---|---|---|---|---|---|---|
| Sound | Closed captions | Source | Description | Identifier | Translation key | Volume | Pitch |
| โPressure Plate clicks[23] | Sound | When a menu button is clicked | random.click | subtitles.block.pressure_plate.click[23]โ | 1.0 | 1.0 | |
| โ ? | Sound | When a progressive button gets clicked | ? | โ ? | 1.0 | 1.0 | |
| โ ? | Sound | When the social drawer gets opened | ? | โ ? | 1.0 | 1.0 | |
| โ ? | Sound | When the social drawer gets closed | ? | โ ? | 1.0 | 1.0 | |
| โ ? | Sound | When a notification pops up | ? | โ ? | 1.0 | 1.0 | |
| Bedrock Edition | |||||||
|---|---|---|---|---|---|---|---|
| 1.16.100 | beta 1.16.100.50 | Added Ore UI. | |||||
Added ๐ File directory.png: Sprite image for directory in Minecraftgui/dist/hbui. | |||||||
| ๐ Image Achievement screen has been updated to match Ore UI, rolled out gradually for 5% players[10]. | |||||||
| beta 1.18.20.21 | ๐ Image Create New World screen has been updated to match Ore UI, available in beta only. | ||||||
| 1.19.20 | Create New World screen is released to the public and no longer in Preview only. | ||||||
| Preview 1.19.40.20 | ๐ Image Control mode screen has been added to match Ore UI, available in Preview only. | ||||||
| Preview 1.19.40.22 | ๐ Image Report screen in profiles from other players has been updated to match Ore UI, available in Preview only. | ||||||
| 1.19.40 | Preview 1.19.40.23 | ๐ Image Notification screen has been updated to match Ore UI. | |||||
| 1.19.50 | Control mode screen is released to the public and no longer in Preview only. | ||||||
| Report screen in profiles from other players is released to the public and no longer in Preview only. | |||||||
| Preview 1.19.80.20 | ๐ Image Experimental Death screen has been updated to match Ore UI, available in Preview only. | ||||||
| 1.19.80 | Preview 1.19.80.21 | ๐ Image ๐ Image ๐ Image ๐ Image Sign in screen has been updated to match Ore UI. | |||||
| Preview 1.20.30.22 | ๐ Image "Worlds" tab in Play screen has been updated to match Ore UI, available in Preview only. | ||||||
| 1.20.30 | ๐ Image Experimental Death screen is released to the public and no longer in Preview only. | ||||||
| Preview 1.20.60.21 | ๐ Image A "Friends" tab has been added to the Play screen with Ore UI, available in Preview only. | ||||||
| 1.20.60 | Preview 1.20.60.23 | ๐ Image Inbox screen has been added with Ore UI.[24] | |||||
| ๐ Image Edit World screen has been updated to match Ore UI, available in Preview only.[25] | |||||||
| Realms Stories screen has been added with Ore UI, available in Preview only. | |||||||
| Preview 1.20.60.25 | ๐ Image ๐ Image Quick World Creation has been added with Ore UI. | ||||||
| Preview 1.20.80.21 | ๐ Image "Servers" tab in the Play screen has been updated to match Ore UI, available in Preview only. | ||||||
| 1.20.80 | Preview 1.20.80.23 | ๐ Image Search for players screen has been updated to match Ore UI. | |||||
| Death screen is no longer experimental. | |||||||
| Release | Realms Stories screen is released to the public and no longer in Preview only. | ||||||
| 1.21.0 | Preview 1.21.0.20 | ๐ Image Profile screen has been updated to match Ore UI. | |||||
| 1.21.20 | Preview 1.21.10.21 | ๐ Image Changed the appearance of the Control mode screen. | |||||
| Preview 1.21.20.21 | ๐ Image Experimental Sleep screen has been updated to match Ore UI, available in Preview only. | ||||||
| Release | Achievement button in main menu and game menu has been replaced with the profile button, along with the new profile screen, showing the player's statistics and achievements.[verify] | ||||||
| 1.21.30 | Preview 1.21.30.22 | ๐ Image Screenshot Gallery screen in profile screen has been added with Ore UI. | |||||
| Preview 1.21.30.24 | ๐ Image Create from template screen has been updated to match Ore UI, available in Preview only. | ||||||
| Preview 1.21.40.22 | ๐ Image "Realms" tab in the Play screen has been updated to match Ore UI, available in Preview only. | ||||||
| 1.21.50 | Preview 1.21.50.24 | Sleep screen is released to the public and no longer experimental or in Preview only. | |||||
| December 28, 2024 | Edit World screen is released to the public and no longer in Preview only. | ||||||
| 1.21.60 | Play screen is released to the public and no longer in Preview only. | ||||||
| 1.21.70 | Preview 1.21.70.22 | ๐ Image Player Permissions screen in the game menu has been updated to match Ore UI. | |||||
| Preview 1.21.70.23 | ๐ Image The Report Bad Behavior (previously Report) screen has been updated. | ||||||
| Release | ๐ Image The "Friends" drawer is now accessible from the main menu and the game menu, only for some players and not for long. | ||||||
| Preview 1.21.80.25 | ๐ Image Error screen on world load has been updated to match Ore UI, available in Preview only. | ||||||
| 1.21.90 | Preview 1.21.90.25 | ๐ Image ๐ Image Quick world creation has been expanded with character selection and ready to play screens. | |||||
| Preview 1.21.100.20 | ๐ Image Audio settings screen has been updated to match Ore UI, available in Preview only. | ||||||
| 1.21.100 | Preview 1.21.100.22 | ๐ Image ๐ Image Added Error Details screen to the error screen on world load. | |||||
| Error screen on world load is released to the public and no longer Preview only. | |||||||
| Preview 1.21.110.20 | ๐ Image The Edit World screen for Realms has been updated to match Ore UI, available in Preview only. | ||||||
| Preview 1.21.110.25 | ๐ Image An updated "Social" tab has been added to the game menu, available in Preview only. | ||||||
| "Friends" tab has been renamed to "Social" tab, available in Preview only. | |||||||
| 1.21.111 | ๐ Image Achievement screen has been redesigned. | ||||||
| Preview 1.21.120.22 | ๐ Image ๐ Image Accessibility and Language settings screens have been updated to match Ore UI, available in Preview only. | ||||||
| 1.21.120 | Preview 1.21.120.23 | ๐ Image Added a Learn more button to the error screen on world load. | |||||
| Preview 1.21.120.24 | ๐ Image General settings screen has been updated to match Ore UI, available in Preview only. | ||||||
| Release | "Social" tab in the game menu is released to the public and no longer in Preview only. | ||||||
| "Friends" tab has been renamed to "Social" tab, no longer in Preview only. | |||||||
| Preview 1.21.130.24 | ๐ Image Video settings screen has been updated to match Ore UI, available in Preview only. | ||||||
| 26.0 | Preview 26.0.23 | ๐ Image Game update required screen on world load has been updated to match Ore UI. | |||||
| Preview 26.0.25 | ๐ Image ๐ Image Keyboard & Mouse and Account settings screen have been updated to match Ore UI, available in Preview only. | ||||||
| ๐ Image Party tab has been added to the updated Social drawer, available in Preview only. | |||||||
| ๐ Image Create party screen has been added with Ore UI, available in Preview only. | |||||||
| Preview 26.0.28 | ๐ Image ๐ Image Settings screen in main menu or game menu has been updated to match Ore UI, available in Preview only. | ||||||
| 26.10 | Preview 26.10.20 | ๐ Image ๐ Image Error and Error Details screen on world load has been changed to match Ore UI. | |||||
| Preview 26.10.23 | ๐ Image ๐ Image Controller and Touch settings screen have been updated to match Ore UI, available in Preview only. | ||||||
| Release | The settings screen is released to the public and no longer in Preview only. | ||||||
| 26.20 | Preview 26.20.22 | ๐ Image Realms Hub screen have been updated to match Ore UI. | |||||
| "Realms Stories" screen has been renamed to "Realms Hub" screen. | |||||||
| Release | Party tab in Social drawer and Create party screen is released to the public and no longer in Preview only. | ||||||
| The Edit World screen for Realms is released to the public and no longer in Preview only. | |||||||
| 26.30 | Preview 26.30.25 | ๐ Image Creator settings screen has been updated to match Ore UI. | |||||
| Preview 26.30.28 | ๐ Image Storage settings screen has been updated to match Ore UI, available in Preview only. | ||||||
| Upcoming Bedrock Edition | |||||||
| 26.40 | Preview 26.40.20 | ๐ Image Added a Reconnect button to the multiplayer error screen on world load. | |||||
| Bedrock Editor | |||
|---|---|---|---|
| Version | Preview version | Release version | Changelogs |
| 0.3 | Preview 1.19.80.20 | โ | Create New Project screen has been added with Ore UI, available in Preview only. |
| Project Tool Mode screen has been added with Ore UI, available in Preview only. | |||
| 0.8.0 | โ | 1.21.50 | Editor is released to the public and no longer in Preview only. |
| 1.3.1 | Preview 26.20.20 | - | ๐ Image ๐ Image Main menu screen has been updated to match Ore UI, available in Preview only. |
| Minecraft Education | |||||||
|---|---|---|---|---|---|---|---|
| 1.21.03 | Preview 1.21.01.0 | Death screen has been updated to match Ore UI. | |||||
| 1.21.91 | Preview 1.21.50.1 | Sleep screen has been updated to match Ore UI. | |||||
| Preview 1.21.90.1 | Added Ore UI for new world screen. | ||||||
| ๐ Image ๐ Image Create New World and Edit World screen have been updated to match Ore UI. | |||||||
These are standalone Ore UI releases on GitHub.
| Ore UI GitHub releases | |||
|---|---|---|---|
| Version | What's changed | Internal changes | Date |
| 0.1.2 | Stabilize automated performance tests. | โ | November 4, 2021 |
| Add ESLint checks. | |||
| Fix Style updates not properly cleaning previous subscriptions. | |||
| 0.1.3 | Fix unmount cleanup of Facets. | November 5, 2021 | |
| 0.1.4 | Separate setWithCallback support from set in facet.
|
November 17, 2021 | |
| 0.2.0 | Add support for null values on some built-in equality checks. | December 10, 2021 | |
Add support for multiple facets in useFacetCallback and useFacetEffect.
| |||
| 0.2.1 | Add "contribute" file with publishing documentation. | December 15,2021 | |
Fix useFacetCallback return type.
| |||
| 0.2.2 | Add login instructions to CONTRIBUTING.md.
|
December 20, 2021 | |
useFacetState setter memoized.
| |||
| 0.2.3 | Add index to Map tests. | February 8, 2022 | |
| Add a condition property to the Mount component. | |||
Rename useFacetEffect to useFacetLayoutEffect and add a new useFacetEffect.
| |||
| Add With component to refine mounted components Facet type. | |||
Deferred Mount feature: DeferredMountWithCallback.
| |||
| 0.3.0 | Add support for id attribute. | Update README.md.
|
April 11, 2022 |
| Fix missing public APIs from published npm package. | Make the types defined in the hooks more dynamic. | ||
Rename RemoteFacet to SharedFacet.
|
Add tscompiler paths for our packages. | ||
| Rename shared to shared-facet. | Adding pr as a trigger of actions. | ||
| 0.3.2 | Introduce multiObserve and hasDefinedValue helpers.
|
โ | June 28, 2022 |
| 0.3.3 | Update the types of the useFacetCallback function.
|
June 29, 2022 | |
| Fix circular dependency. | |||
| 0.3.4 | Fix line endings settings for prettier. | July 14, 2022 | |
| Allow null as return value of the mount components. | |||
| 0.3.5 | Added a deferred mount config provider. | July 25, 2022 | |
| 0.3.6 | Support onMouseMove handler.
|
August 2, 2022 | |
| 0.3.7 | Fix memory leak caused by not removing child from parent. | August 16, 2022 | |
| 0.3.8 | Fix createFacet equalityCheck to not fire for undefined or null.
|
August 18, 2022 | |
| 0.3.9 | Added createFacetContext.
|
August 24, 2022 | |
| 0.3.10 | Added defaultEqualityCheck to createFacet, and introduced createStaticFacet.
|
August 31, 2022 | |
| 0.3.11 | Support data- properties related to narration. | September 14, 2022 | |
| 0.3.12 | Upgrade TypeScript version + tie VSCode TS version to workspace. | September 21, 2022 | |
| 0.4.0 | Convert some key null coalescing operators into explicit ternaries. | October 24, 2022 | |
Move responsibility of cleaning up effects from facets to useEffect() / useFacetEffect().
| |||
| 0.4.1 | Upgrade Yarn to 3.2.4. | November 3, 2022 | |
| Turn off static access logs in test environment. | |||
| Added improved logging to static facet context. | |||
| 0.4.2 | Make it possible to supply an initial value for useFacetRef.
|
December 6, 2022 | |
Support defaultReturnValue in useFacetCallback.
| |||
| 0.4.3 | New linting rule to detect import issues. | ||
| 0.4.4 | Lock nodejs version. | March 3, 2023 | |
Fix useFacetCallback having outdated values.
| |||
Fix useFacetCallback mismatch subscriptions.
| |||
| Only accept numerical characters if the input type is number. | |||
| 0.4.5 | Update the list of maintainers in the README.md file.
|
March 24, 2023 | |
Keep useFacetCallback instance same even if facets instances change.
| |||
| 0.5.0 | Tweak hasDefinedValue typing.
|
June 15, 2023 | |
| Adds support for custom equality checks on unwrap. | |||
| Batching support. | |||
| 0.5.1 | Add support for Gameface's cohinline attribute in dom-fiber. | September 14, 2023 | |
Update the list of maintainers in the README.md file.
| |||
Force strict comparison eqeqeq eslint rule.
| |||
Revert to using void as cleanup type for useFacetEffect.
| |||
| 0.5.2 | Adding bigint to Value type. | September 25, 2023 | |
| 0.5.3 | Fix children being called with null and undefined. | October 27, 2023 | |
| 0.5.4 | Added support for foreignObject in our custom renderer.
|
January 31, 2024 | |
| 0.6.0 | Added property count to Map to make length of provided array available. | July 25, 2024 | |
Cached maps useFacetMemo can return values before any subscription.
| |||
| 0.6.1 | Fix useFacetUnwrap support for custom equality check.
| ||
| 0.6.2 | Updated puppeteer to the latest version. | March 12, 2025 | |
Update the useSharedFacet typing.
| |||
| 0.6.4 | Correctly export fireEvent from renderer.ts.
|
April 3, 2025 | |
| 18.0.0 | Update to React 18. | September 4, 2025 | |
| 18.1.0 | Support for React 18's useTransition and startTransition.
|
September 17, 2025 | |
| 18.2.0 | Move documentation from separate branch to main branch. | October 16, 2025 | |
Added comment for code smell using useFacetCallback.
| |||
Fix issue with incorrect typing for StrictReactNode.
| |||
| New Unwrap and Times helper components. | |||
| 18.3.0 | Documentation improvements & spring cleaning. | October 28, 2025 | |
Fix support for updating equality checks of useFacetWrapMemo.
| |||
| 18.4.0 | Fix createStaticFacet triggering NO_VALUE.
|
November 14, 2025 | |
| Fix edge case of effects without facets not running. | |||
Fix external types of mapFacets helper functions.
| |||
| 18.5.0 | Copilot support. | February 18, 2026 | |
| Support for new auxclick event. | |||
| 18.6.0 | Allow facets to be used as an initial value of useFacetState.
|
March 23, 2026 | |
Issues relating to "Ore UI", "OreUI", "New UI", "NewUI", or "New design" are maintained on the bug tracker. Issues should be reported and viewed there.
These UIs take design inspiration from Bedrock Edition's UI redesign, and are not really implemented through Ore UI framework, instead they may use resource pack or different implementation based on JSON UI.
This screen can only be access in Minecraft Bedrock Edition 1.20.0 (Dev).
| Minecraft Education | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||
| |||||||||||||||||||