Ore UI

From Minecraft Wiki
Jump to navigation Jump to search
Ore UI
Ore UI.png: Infobox image for Minecraft program 'Ore UI'
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

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 including Bedrock Edition, Minecraft Education, China Edition, Minecraft Legends, and Minecraft Dungeons II.[3]

Bedrock Edition's new UI design system overhaul[4]
The new UI design system overhaul (Updated version)[5]
The menus atlas file

In Bedrock Edition, a new UI design system is being developed using the Gameface engine (formerly Hummingbird[6]) by Coherent Labs,[7][8][9] which made it possible to run modern web technology such as JavaScript, HTML and CSS.[10]

Development

[edit | edit source]

Bedrock Edition's UI redesign tech preview

[edit | edit source]

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.[8] A tech preview for the main menu redesign featuring a user-friendly input for touch, controller, and keyboard was shown at the dotJS 2018 developer conference.

The UI redesign tech preview, shown in dotJS 2018 developer conference

The new main menu 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:

  • "Play" which lets the player navigate to the Select World screen.
  • "Store" which lets the player navigate to the store (similar to the modern Marketplace).
  • "Skins" which lets the player change their skin (similar to the modern Character Creator).
  • "Achievements" and "Settings" which let the player view their achievements and settings.

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.[8] 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.[11] For the next 9 weeks, the number of players who could access the new achievement UI gradually increased from 5% to 75%.[12]

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.

React Facet

[edit | edit source]

On October 18, 2021, the React Facet source code was published on Ore UI GitHub repository under the MIT License.[13]

On October 25, 2021,[14] Paulo Ragonha, a tech lead at Mojang Studios, introduced React Facet, an observable-based state management for video game user interface built in React.[7] 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.

Design system

[edit | edit source]

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.

Usage

[edit | edit source]
This section needs expansion.
You can help by editing the section and adding missing information.
Additional note: Should Legends and Dungeons II usages be documented here? Or should they be documented in a page in the Legends and Dungeons II namespace?
The Play screen while using a controller with controller hints enabled

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):

Bedrock Edition

[edit | edit source]

Release

[edit | edit source]

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

Preview

[edit | edit source]
  • Main menu
  • World and Realm selection for local uploading to Realms
  • Party settings tab

Bedrock Editor

[edit | edit source]

Release

[edit | edit source]

Minecraft Education

[edit | edit source]

Release

[edit | edit source]

China Edition

[edit | edit source]

Release

[edit | edit source]
  • Skin store
  • Mod store
  • Play
  • Create new world
  • Mini map

Data-Driven UI

[edit | edit source]
There is a category for this topic!
See Category:Ore UI (DDUI) screenshots for a list of pages relating to this topic.
An Ore UI dialog in the Minecraft Movie Voting Event
Some of the possibilities with the data-driven UI framework include games, search menus, and graphical command interfaces.
The new data-driven UI framework include games, search menus, and graphical command interfaces.[15][16]

Add-on creators can utilize scripting to create custom dialogs using Ore UI (DDUI).[17][18][19][20] Similar to JSON UI dialogs, this is implemented in the @minecraft/server-ui module. Unlike JSON UI, data-driven UI dialogs can automatically update, and have more controls. They can also use text component format to style text, such as color coding and localization.

Furthermore, the dialogs have generally the same functions as JSON UI dialogs, but styled in Ore UI. Creators can use toggles, sliders, text input fields, dropdown, collapsible content, and even dynamic images.

Differences with JSON UI

[edit | edit source]
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 JSON files.
  • Hard-coded and cannot be modified by resource packs[21][22][23].
  • Creation of custom form UIs is possible on server side using @minecraft/server-ui scripting module, though it does not directly interface with the HTML UI, and allowing few basic UI elements.
Color codes and emojis Supports specific layout properties, color codes, and emojis. Does not support color codes[24][25][26] 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[27][28] they are not supported natively in text fields.
Status Planned to be removed in 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[29], particularly on consoles.
Availability Available by default on screens that are not yet migrated to Ore UI. Available on a few select screens (Play, Settings, Create World, and Achievements), although it may fallback to legacy JSON UI in 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.

Control icons

[edit | edit source]

Keyboard and mouse controls

[edit | edit source]
  • Key A
  • Key B
  • Key C
  • Key D
  • Key E
  • Key F
  • Key G
  • Key H
  • Key I
  • Key J
  • Key K
  • Key L
  • Key M
  • Key N
  • Key O
  • Key P
  • Key Q
  • Key R
  • Key S
  • Key T
  • Key U
  • Key V
  • Key W
  • Key X
  • Key Y
  • Key Z
  • Key F2
  • Key arrow up
  • Key arrow right
  • Key arrow down
  • Key arrow left
  • Key bracket close
  • Key bracket close small
  • Key bracket open
  • Key bracket open small
  • Key Slash
  • Key alt
  • Key ctrl
  • Key ctrl small
  • Key enter
  • Key esc
  • Key shift
  • Key space
  • Key tab
  • Mouse
  • Mouse left click
  • Mouse right click
  • Mouse scroll click
  • Mouse scroll wheel

Controller controls

[edit | edit source]

  • X button
  • A button
  • B button
  • Y button
  • Up button
  • Right button
  • Down button
  • Left button
  • Menu button, d-pad
  • Select button
  • Right stick
  • Right stick arrow up
  • Right stick arrow right
  • Right stick arrow down
  • Right stick arrow left
  • Right bumper
  • Right trigger
  • Right stick click
  • Left stick
  • Left stick arrow up
  • Left stick arrow right
  • Left stick arrow down
  • Left stick arrow left
  • Left bumper
  • Left trigger
  • Left stick click

  • Triangle button
  • Circle button
  • Cross button
  • Square button
  • Up button, d-pad
  • Right button, d-pad
  • Down button, d-pad
  • Left button, d-pad
  • Menu button
  • Touch pad
  • Right stick
  • Right stick arrow up
  • Right stick arrow right
  • Right stick arrow down
  • Right stick arrow left
  • Right bumper
  • Right trigger
  • Right stick click
  • Left stick
  • Left stick arrow up
  • Left stick arrow right
  • Left stick arrow down
  • Left stick arrow left
  • Left bumper
  • Left trigger
  • Left stick click

  • Y button
  • B button
  • A button
  • X button
  • Up button, d-pad
  • Right button, d-pad
  • Down button, d-pad
  • Left button, d-pad
  • Menu button
  • Select button
  • Right stick
  • Right stick arrow up
  • Right stick arrow right
  • Right stick arrow down
  • Right stick arrow left
  • Right bumper
  • Right trigger
  • Right stick click
  • Left stick
  • Left stick arrow up
  • Left stick arrow right
  • Left stick arrow down
  • Left stick arrow left
  • Left bumper
  • Left trigger
  • Left stick click

Sounds

[edit | edit source]
Sounds
SoundClosed captionsSourceDescriptionIdentifierTranslation keyVolumePitch
​Pressure Plate clicks[30]SoundWhen a menu button is clickedrandom.clicksubtitles.block.pressure_plate.click[30]​1.01.0
​ ?SoundWhen a progressive button gets clicked?​ ?1.01.0
​ ?SoundWhen the social drawer gets opened?​ ?1.01.0
​ ?SoundWhen the social drawer gets closed?​ ?1.01.0
​ ?SoundWhen a notification pops up?​ ?1.01.0
​ ?BlocksWhen Hardcore mode is toggled onfire.ignite​ ?1.00.8–1.2
​ ?Hostile MobsWhen Hardcore mode is toggled onmob.ghast.fireball​ ?1.01.0
​ ?BlocksWhen Hardcore mode is toggled offrandom.fizz​ ?0.51.8–2.4

History

[edit | edit source]

Bedrock Edition

[edit | edit source]
Bedrock Edition
1.16.100beta 1.16.100.50 Added Ore UI.
Added File directory.png: Sprite image for directory in Minecraft gui/dist/hbui.
Achievement screen has been updated to match Ore UI, rolled out gradually for 5% players[11].
beta 1.18.20.21 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 Control mode screen has been added to match Ore UI, available in Preview only.
Preview 1.19.40.22 Report screen in profiles from other players has been updated to match Ore UI, available in Preview only.
1.19.40Preview 1.19.40.23 Announcement 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 Experimental Death screen has been updated to match Ore UI, available in Preview only.
1.19.80Preview 1.19.80.21 Sign in screen has been updated to match Ore UI.
Preview 1.20.30.22 "Worlds" tab in Play screen has been updated to match Ore UI, available in Preview only.
1.20.30 Experimental Death screen is released to the public and no longer in Preview only.
Preview 1.20.60.21 A "Friends" tab has been added to the Play screen with Ore UI, available in Preview only.
1.20.60Preview 1.20.60.23 Inbox has been added to match Ore UI.[31]
Edit World screen has been updated to match Ore UI, available in Preview only.[32]
Realms Stories screen has been added with Ore UI, available in Preview only.
Preview 1.20.60.25 Quick World Creation has been added with Ore UI.
Preview 1.20.80.21 "Servers" tab in the Play screen has been updated to match Ore UI, available in Preview only.
1.20.80Preview 1.20.80.23 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.0Preview 1.21.0.20 Profile screen has been updated to match Ore UI.
1.21.20Preview 1.21.10.21 Changed the appearance of the Control mode screen.
Preview 1.21.20.21 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.30Preview 1.21.30.22 Screenshot Gallery screen in profile screen has been added with Ore UI.
Preview 1.21.30.24 Create from template screen has been updated to match Ore UI, available in Preview only.
Preview 1.21.40.22 "Realms" tab in the Play screen has been updated to match Ore UI, available in Preview only.
1.21.50Preview 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.70Preview 1.21.70.22 Player Permissions screen in the game menu has been updated to match Ore UI.
Preview 1.21.70.23 The Report Bad Behavior (previously Report) screen has been updated.
Release 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 Error screen on world load has been updated to match Ore UI, available in Preview only.
1.21.90Preview 1.21.90.25 Quick world creation has been expanded with character selection and ready to play screens.
Preview 1.21.100.20 Audio settings screen has been updated to match Ore UI, available in Preview only.
1.21.100Preview 1.21.100.22 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 The Edit World screen for Realms has been updated to match Ore UI, available in Preview only.
Preview 1.21.110.25 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 Achievement screen has been redesigned.
Preview 1.21.120.22 Accessibility and Language settings screens have been updated to match Ore UI, available in Preview only.
1.21.120Preview 1.21.120.23 Added a Learn more button to the error screen on world load.
Preview 1.21.120.24 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 Video settings screen has been updated to match Ore UI, available in Preview only.
26.0Preview 26.0.23 Game update required screen on world load has been updated to match Ore UI.
Preview 26.0.25 Keyboard & Mouse and Account settings screen have been updated to match Ore UI, available in Preview only.
Party tab has been added to the updated Social drawer, available in Preview only.
Create party screen has been added with Ore UI, available in Preview only.
Preview 26.0.28 Settings screen in main menu or game menu has been updated to match Ore UI, available in Preview only.
26.10Preview 26.10.20 Error and Error Details screen on world load has been changed to match Ore UI.
26.10
Experiment
Beta APIs
Preview 26.10.21 Added new data-driven UI features, to create dialogs with Ore UI.
26.10Preview 26.10.23 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.20Preview 26.20.22 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.30Preview 26.30.25 Creator settings screen has been updated to match Ore UI.
Preview 26.30.28 Storage settings screen has been updated to match Ore UI, available in Preview only.
26.30Preview 26.30.29 Released DDUI out of experimental.
26.40Preview 26.40.20 Added a Reconnect button to the multiplayer error screen on world load.
release Storage settings screen and Saves realms hub screen have been updated to match Ore UI.
Preview 26.50.22 Realms settings screen has been updated to match Ore UI.
26.50Preview 26.50.20 Wishlist marketplace screen has been updated to match Ore UI.
Upcoming Bedrock Edition
26.60Preview 26.60.22 "Servers" tab in Play screen has been redesigned.
Preview 26.60.29 Main Menu has been updated to match Ore UI, available in Preview only.
Party settings screen has been updated to match Ore UI.
Preview 26.70.20 Get started in main menu has been updated to match Ore UI, available in Preview only.

Bedrock Editor

[edit | edit source]
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 - Main Menu screen has been updated to match Ore UI, available in Preview only.
26.50 - 26.50 Main Menu screen is released to the public and no longer in Preview only.

Minecraft Education

[edit | edit source]
Minecraft Education
1.21.03Preview 1.21.01.0 Death screen has been updated to match Ore UI.
1.21.91Preview 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.
Create New World and Edit World screen have been updated to match Ore UI.

Control

[edit | edit source]
Bedrock Edition
1.16.100beta 1.16.100.50 New textures have been added for Xbox controller buttons to match Ore UI.
beta 1.16.100.56 New textures have been added for Nintendo Switch controller buttons to match Ore UI.
New textures have been added for PlayStation controller buttons to match Ore UI.
1.16.210beta 1.16.210.50 New textures have been added for directional pad buttons to match Ore UI.
1.16.220beta 1.16.220.50 New textures have been added for keyboard and mouse controls to match Ore UI.
New textures have been added for Nintendo Switch and dark controls to match Ore UI.
New textures have been added for PlayStation 4 and dark controls to match Ore UI.
New textures have been added for Xbox and dark controls to match Ore UI.
beta 1.16.220.52 New textures have been added for controller controls to match Ore UI.
1.17.0beta 1.17.0.56 Textures have been removed for mouse controls to match Ore UI.
1.17.30beta 1.17.20.20 New textures have been added for PlayStation 4 controls to match Ore UI.
Textures have been removed for select on PlayStation 4 controls to match Ore UI.
1.18.30Preview 1.18.20.24 New textures have been added for keyboard controls to match Ore UI.
1.19.0Preview 1.19.0.31 New textures have been added for keyboard controls to match Ore UI.
1.19.10Preview 1.19.10.21 New textures have been added for keyboard controls to match Ore UI.
Textures have been removed for keyboard, mouse, and dark controls to match Ore UI.
Textures have been removed for Nintendo Switch and dark controls to match Ore UI.
Textures have been removed for PlayStation 4 and dark controls to match Ore UI.
Textures have been removed for Xbox and dark controls to match Ore UI.
1.19.60Preview 1.19.60.22 New textures have been added for keyboard controls to match Ore UI.
1.19.70Preview 1.19.70.23 Textures have been removed for keyboard controls to match Ore UI.
1.20.30Preview 1.20.30.21 Textures have been re-added for Xbox controls to match Ore UI.
Textures have been removed for Xbox controls to match Ore UI.
Preview 1.20.30.24 New textures have been added for Nintendo Switch controls to match Ore UI.
Textures have been removed for Nintendo Switch controls to match Ore UI.
1.20.50Preview 1.20.50.20 Textures have been changed for Nintendo Switch controls to match Ore UI.
1.21.20Preview 1.21.10.20 New textures have been added for PlayStation 5 controls to match Ore UI.
1.21.30Preview 1.21.30.23 New textures have been added for keyboard controls to match Ore UI.
1.21.90Preview 1.21.90.23 Textures have been changed for keyboard controls to match Ore UI.
1.21.100Preview 1.21.100.20 Textures have been removed for small on keyboard controls to match Ore UI.
1.21.111Preview 1.21.110.20 New textures have been added for keyboard and mouse controls to match Ore UI.
Textures have been removed for keyboard and mouse controls to match Ore UI.
1.21.130Preview 1.21.130.20 New textures have been added for keyboard and mouse controls to match Ore UI.
Textures have been re-added for keyboard controls to match Ore UI.
Textures have been changed for keyboard controls to match Ore UI.
26.10Preview 26.10.23 New textures have been added for controller controls to match Ore UI.
Textures have been changed for Nintendo Switch controls to match Ore UI.
Textures have been changed for PlayStation controls to match Ore UI.
Textures have been changed for Xbox controls to match Ore UI.
26.20Preview 26.20.27 New textures have been added for Nintendo Switch controls to match Ore UI.

Ore UI releases

[edit | edit source]

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

[edit | edit source]

Issues relating to "Ore UI", "OreUI", "New UI", "NewUI", "New design", "Data-Driven UI", "Data Driven UI", or "DDUI" are maintained on the bug tracker. Issues should be reported and viewed there.

Trivia

[edit | edit source]
  • 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
[edit | edit source]

Videos

[edit | edit source]

dotJS 2018 - Tobias Ahlin: Adding JavaScript to Minecraft

[edit | edit source]


Ore UI Documentation

[edit | edit source]

The following screen can only be accessed in Minecraft Bedrock Edition 1.20.0 (Dev).

References

[edit | edit source]
  1. ↑ "first commit · Mojang/ore-ui@a899c6a" – GitHub.
  2. ↑ "Mojang/ore-ui: 💎 Building blocks to construct game UIs using web tech." – GitHub.
  3. ↑ "Today I learned that Dungeons 2 uses OreUI! If only the main game learned from Legends and Dungeons 2 for how to make a good UI." – @SmokeyStack_ on X (formerly Twitter), October 3, 2026
  4. ↑ "Thanks for everyone that attended my talk live at @ReactAdvanced. For anyone that couldn't attend, I'll post a link here once it is available for everyone. It was a developer conference, but if you were waiting for a sneak peek on the new UI components... here it is ☺️" – @pirelenito on X (formerly Twitter), October 26, 2021
  5. ↑ "Mojang 2022 - Now" – Design lead.
  6. ↑ "GameTest Q&A 2021/08/06" – Bedrock Wiki.
  7. ↑ a b "Using React to Build Performant Game UIs in Minecraft - Paulo Ragonha, React Advanced 2021" – December 27, 2021 on YouTube
  8. ↑ a b c "dotJS 2018 - Tobias Ahlin - Adding JavaScript to Minecraft" – March 4, 2019 on YouTube
  9. ↑ "Powered by Coherent Labs" – Coherent Labs.
  10. ↑ "Coherent Gameface" – Coherent Labs.
  11. ↑ a b "Uh-oh! I think I pressed something, and now 5% of #Minecraft beta users will see the new achievements screen. Well, might as well ask for feedback here: https://aka.ms/mcAchievementBeta." – @Volgar on X (formerly Twitter), July 31, 2020
  12. ↑ "I'll provide more context later, but... jam. It gets everywhere. Hence, a whopping 75% of #Minecraft players have a chance to see the new achievements screen both in the latest release and the latest beta. Stay tuned! Ta-tah!" – @Volgar on X (formerly Twitter), December 10, 2020
  13. ↑ "Importing codebase from internal repository (#1) · Mojang/ore-ui@96c107c" – GitHub.
  14. ↑ "Schedule" – React Advanced.
  15. ↑ "Mojang added styling to DDUI. Its still largely work-in-progress and not publicly accessible." – @theaddonn on X (formerly Twitter), October 21, 2026
  16. ↑ ddui styling.md
  17. ↑ "Introduction to the Data-Driven UI (DDUI) Framework" – Microsoft Learn.
  18. ↑ "No one is talking about this? A new folder called "ddui" was just added to Bedrock and it contains all the storage block screens.

    This might be the first step to having data driven UI using OreUI."
    – @SmokeyStack_ on X (formerly Twitter), October 22, 2025
  19. ↑ "For those of you who do not like this, here's some good news.

    This will be data driven. All blocks that have a UI got moved under the data driven entry.

    Additionally, there is a new command related to the Data Driven UI."
    – @SmokeyStack_ on X (formerly Twitter), December 4, 2025
  20. ↑ "It seems Mojang is now laying the ground work to make DDUI in resource packs." – @SmokeyStack_ on X (formerly Twitter), September 2, 2026
  21. ↑ "No. Allowing directly changing screens is what made improving the UI design of Minecraft impossible: any change breaks existing mods. It's the same reason why there is a graveyard of abandoned mods for Java Minecraft – not every modder has time to make updates for every release." – @Volgar on X (formerly Twitter), December 9, 2024
  22. ↑ "Intro to JSON UI" – Bedrock Wiki, April 1, 2024.
  23. ↑ MCPE-180757 – HBUI texture files are not in the "resource_packs" folder – resolved as "Works As Intended".
  24. ↑ "It probably won't be supported in the new screens, but it certainly shouldn't look like this, just plain text. Thanks, I'll pass it to the team." – @Volgar on X (formerly Twitter), December 12, 2024
  25. ↑ MCPE-174371 – The new "Play screen" UI doesn't support colored characters – resolved as "Works As Intended".
  26. ↑ MCPE-152246 – New Create New World UI doesn't support text formatting codes – resolved as "Works As Intended".
  27. ↑ "Emojis & Symbols" – Bedrock Wiki, April 1, 2024.
  28. ↑ MCPE-185774 – New server UI does not show some characters – resolved as "Won't Fix".
  29. ↑ MCPE-180677 – Extreme performance downgrades in Ore UI vs JSON UI
  30. ↑ a b Although there is a subtitle and a translation key assigned to this sound, the subtitle only appears if the sound is played directly in-game.
  31. ↑ "Howdy, my dears! In case you missed it, there is now new Inbox screen built with Ore UI available in #Minecraft preview builds. It's a work in progress, but hopefully it'd be a hub for release notes, invitations etc" – @Volgar on X (formerly Twitter), December 13, 2023
  32. ↑ "Well, actually, that's not all, my dears. In today's preview the new Edit World screen is rolling out too! Check it out, and use the feedback button on the screen to tell us what you think." – @Volgar on X (formerly Twitter), December 13, 2023
[edit | edit source]

Feedback

[edit | edit source]

GitHub

[edit | edit source]

Data-Driven UI

[edit | edit source]

Documentation

[edit | edit source]

GitHub

[edit | edit source]
[edit | edit source]