Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Minecraft:Ore UI

From SAS Gaming Wiki

Template:Exclusive Template:Infobox program Ore UI is a collection of open source packages designed for building interactive Template:W Template:Ws using Template:W, written in the Template:W programming language and utilizing the Template:W library. It provides reusable building blocks for Template:W and general-purpose Template:Ws.<ref name="ore-ui-github">Template:Cite</ref> Ore UI is currently used in Minecraft games such as Template:BE, Minecraft:Bedrock Editor, Template:Edu, Minecraft:China Edition, and Template:MCL.

File:Ore UI Design System.png
Bedrock Edition's new UI design system overhaul<ref>Template:Tweet</ref>
File:Ore UI Design System Updated.png
The new UI design system overhaul (Updated version)<ref>Template:Cite</ref>

Template:IN, a new UI design system is being developed using the Gameface engine (formerly Hummingbird<ref name="gameface-former-hummingbird">Template:Cite</ref>) by Coherent Labs,<ref name="react-advanced-2021-ore-ui"/><ref name="dotjs-hummingbird-tech-preview">Template:Ytl</ref><ref name="powered-by-coherent-labs">Template:Cite</ref> which made it possible to run modern web technology such as Template:W, Template:W and Template:W.<ref name="coherent-gameface-product">Template:Cite</ref>

Development

Bedrock EditionTemplate:'s UI redesign tech preview

On November 9, 2018, Minecraft:Tobias Ahlin, the lead experience designer at Mojang Studios, announced a UI overhaul coming to Template:BE built on Hummingbird engine, which runs a subset of Template:W and Template:W, and a design system built with Template:W.<ref name="dotjs-hummingbird-tech-preview"/> 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.

File:DotJS 2018 Bedrock's UI redesign tech preview.png
The UI redesign tech preview, shown in 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.<ref name="dotjs-hummingbird-tech-preview"/> The original link for the documentation now redirects to a completely different website, making the documentation inaccessible; it is now considered Template:W as it has not been archived elsewhere.

In beta 1.16.100.50, released on July 31, 2020, the new Minecraft:achievements screen was added. It was rolled out initially for 5 percent of the player base.<ref name="achievement-new-ui-rollout">Template:Tweet</ref> For the next 9 weeks, the number of players who could access the new achievement UI gradually increased from 5% to 75%.<ref name="achievement-new-ui-rollut-75">Template:Tweet</ref>

In the following years, more JSON UI menu screens were gradually refreshed with Ore UI, with design previews available in Minecraft: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 Minecraft:inventory. These have been teased to be in early development.

React Facet

On October 18, 2021, the React Facet source code was published on Ore UI GitHub repository under the Template:W.<ref name="github-ore-ui-react-facet">Template:Cite</ref>

On October 25, 2021,<ref name="react-advanced-ragonha-talk-date">Template:Cite</ref> Paulo Ragonha, a tech lead at Mojang Studios, introduced React Facet, an Template:W-based state management for video game user interface built in React.<ref name="react-advanced-2021-ore-ui">Template:Ytl</ref> 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 Template:W C++ game engine (where the game's states reside) with the Template:W 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.

Design system

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 Template:Slink.

Usage

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 Minecraft: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 Minecraft:menu screens (including sub-menus):

Bedrock Edition

Release

Additionally, the toast that appears after 15 minutes of inactivity, along with the overlay, is based on Ore UI.

Preview

Bedrock Editor

Release

Preview

Minecraft Education

Release

China Edition

Release

  • Skin store
  • Mod store
  • Play
  • Create new world
  • Mini map

Differences with JSON UI

Features JSON UI
(Legacy)
Ore UI
(Modern)
Creator customization
  • Can be modified by resource packs to change layout and behavior.
  • Allows creating complex UI by directly modifying or defining UI controls and other elements through the Minecraft:JSON files.
Color codes and emojis Supports specific layout properties, color codes, and emojis. Does not support color codes<ref>Template:Tweet</ref><ref>Template:Bug</ref><ref>Template:Bug</ref> on various screens, however, on the Minecraft:death screen in the name of the player or item or Minecraft:mob that killed them, and on the new forms screen in the label it is supported, not understanding emojis<ref>Template:Cite</ref><ref>Template:Bug</ref> they are not supported natively in text fields.
Status Planned to be removed on future updates.Template:Citation needed Currently in active development.
Performance Can be unoptimized, leading to lower Template:W, long loading times, and general poor user experience, especially with a lot of custom UI.Template:Citation needed Aims for better performance, though some users have reported micro-freezes and lag issues, particularly on consoles.
Availability Available by default on screens that are not yet migrated to Ore UI. Available on few select screens (Play, Minecraft:Settings, Create World, and Minecraft:Achievements). Though it may fallback to legacy JSON UI on specific cases.Template:Info 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 Minecraft:JSON files. Developed using modern web technology (Template:W, Template:W, Template:W) and the Gameface engine by Coherent Labs.
Technical details UI elements are defined in resource packs, specifically under Template:Cd directory. UI elements are defined internally in the Template:W, specifically under Template:Cd.

Control icons

Template:Main

Keyboard and mouse controls

Template:Columns-list

Controller controls

Template:Tabber

Sounds

Template:Expand section Template:SoundTable

History

Bedrock Edition

Template:HistoryTable

Bedrock Editor

Minecraft: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 - Template:Animate Main menu screen has been updated to match Ore UI, available in Preview only.

Minecraft Education

Template:HistoryTable

Control

Template:HistoryTable

Ore UI releases

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 Template:Cd 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 Template:Cd and Template:Cd.
0.2.1 Add "contribute" file with publishing documentation. December 15,2021
Fix Template:Cd return type.
0.2.2 Add login instructions to Template:Cd. December 20, 2021
Template:Cd setter memoized.
0.2.3 Add index to Map tests. February 8, 2022
Add a condition property to the Mount component.
Rename Template:Cd to Template:Cd and add a new Template:Cd.
Add With component to refine mounted components Facet type.
Deferred Mount feature: Template:Cd.
0.3.0 Add support for id attribute. Update Template:Cd. April 11, 2022
Fix missing public APIs from published npm package. Make the types defined in the hooks more dynamic.
Rename Template:Cd to Template:Cd. Add tscompiler paths for our packages.
Rename shared to shared-facet. Adding pr as a trigger of actions.
0.3.2 Introduce Template:Cd and Template:Cd helpers. June 28, 2022
0.3.3 Update the types of the Template:Cd 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 Template:Cd handler. August 2, 2022
0.3.7 Fix memory leak caused by not removing child from parent. August 16, 2022
0.3.8 Fix Template:Cd Template:Cd to not fire for undefined or null. August 18, 2022
0.3.9 Added Template:Cd. August 24, 2022
0.3.10 Added Template:Cd to Template:Cd, and introduced Template:Cd. 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 Template:Cd / Template:Cd.
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 Template:Cd. December 6, 2022
Support Template:Cd in Template:Cd.
0.4.3 New linting rule to detect import issues.
0.4.4 Lock nodejs version. March 3, 2023
Fix Template:Cd having outdated values.
Fix Template:Cd mismatch subscriptions.
Only accept numerical characters if the input type is number.
0.4.5 Update the list of maintainers in the Template:Cd file. March 24, 2023
Keep Template:Cd instance same even if facets instances change.
0.5.0 Tweak Template:Cd 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 Template:Cd file.
Force strict comparison Template:Cd.
Revert to using void as cleanup type for Template:Cd.
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 Template:Cd 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 Template:Cd can return values before any subscription.
0.6.1 Fix Template:Cd support for custom equality check.
0.6.2 Updated puppeteer to the latest version. March 12, 2025
Update the Template:Cd typing.
0.6.4 Correctly export Template:Cd from Template:Cd. April 3, 2025
18.0.0 Update to React 18. September 4, 2025
18.1.0 Support for React 18's Template:Cd and Template:Cd. September 17, 2025
18.2.0 Move documentation from separate branch to main branch. October 16, 2025
Added comment for code smell using Template:Cd.
Fix issue with incorrect typing for Template:Cd.
New Unwrap and Times helper components.
18.3.0 Documentation improvements & spring cleaning. October 28, 2025
Fix support for updating equality checks of Template:Cd.
18.4.0 Fix Template:Cd triggering Template:Cd. November 14, 2025
Fix edge case of effects without facets not running.
Fix external types of Template:Cd 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 Template:Cd. March 23, 2026

Issues

Template:Issue list

Trivia

  • The in-game descriptions of features are sometimes remarkable or humorous. Notable quotes are:
    • Explore a mysterious world where you build, collect, craft, and fight monsters.
    • Whatever the default game mode is... that's what you get.
    • You can't respawn if you die. Good luck! You'll need it.
    • A mysterious series of numbers used to create your world
    • Might want to build with stone
    • Red box goes boom
    • Enjoy Minecraft with friends
    • Minecraft is for everyone, including you
    • Shiny glint for enchanted items
    • Reverses up and down when looking around. A less common option for keyboard and mouse users, but you do you.
    • We didn't know where else to put these settings
    • Technical info that's not relevant to players. Feel free to have a look if you're curious!
    • Not a trick question. How smooth do you like your blocks?
    • Happy little clouds in the sky
    • Leaves but better
    • Bubbles with style
    • Minecraft, in full screen

Gallery

Screenshots

Bedrock Edition

Bedrock Editor

Minecraft Education

Minecraft China Edition

Development screenshots

Achievement

Atlas

Create new world

Gameplay

Player permission

Party

Disconnected

Quick world creation

Realms

dotJS 2018

Ore UI-styled screenshots

These UIs take design inspiration from Minecraft:Bedrock Edition's UI redesign, and are not really implemented through Ore UI framework, instead they may use Minecraft:resource pack or different implementation based on JSON UI.

Videos

Ore UI Documentation

This screen can only be access in Minecraft Bedrock Edition 1.20.0 (Dev).Template:YT

References

Template:Reflist

External links

GitHub


Feedback

Navigation

Template:Navbox Bedrock Edition Template:Navbox Education

Minecraft:pt:Ore UI Minecraft:zh:Ore UI