Minecraft Bedrock Shaders are Back!
The Bedrock Edition community has been at it again to bring back chunk lines, light levels and other shaders back to Minecraft
Image Source: pcgamer.com Shaders for Minecraft Bedrock Edition were a popular must have for any technical player. Giving players the ability to see chunk lines and light levels in game as well as allowing for truly beautiful visual effects. Sadly however, with the introduction of Minecraft's new Render Dragon engine, shaders were no longer a customisation option that could be added to the game, until now...
Minecraft Pocket Edition or now better known as Bedrock Edition, like many popular games, including Minecraft Java Edition, used shader files on order to tell the game how to render the graphics to the players screen. These shader files have always been text based, meaning that they could be opened and edited in any generic text editor. Although the language they were written in wasn't exactly easy to understand, it was possible to tweak and even add to theses files with custom programming that could completely change the way Minecraft looked.
Popular packs made water ripple and wave, tree leaves sway, the sun bloom and much more. Adding shadows, "proper" lighting and other effects was all possible by manipulating these shader files. These edited files could then be packaged as a Minecraft Resource Pack and shared with the player base via website and other means so that everyone could easily use them in their game.
...all platforms and devices now run on the new Render Dragon engine...
It wasn't just for making Minecraft look pretty either, some really interesting technical packs game out of this too, such as being able to see chunk lines in game and also light levels. These two systems in particular, are invaluable to technical players to properly create efficient farms and prevent mobs despawning or spawning as required. These tools weren't necessarily cheats, as the Java Edition of the game had these features built in from the start, but they've never been officially available to Bedrock Edition players.
But then Mojang started development of a new rendering engine for Minecraft Bedrock Edition that was intended to make the game more optimized and run smoother. As a result of these, the shader files previously accessible to us, were bundled up as Binary files which cannot be read by a generic text editor. In fact, these files are encoded in such a way, that unless you know exactly how they were compiled, there is no way to decompile them and access the data inside, which of course is information Mojang wouldn't share.
Due to these changes, it became impossible for the Minecraft community outside of the developers at Mojang themselves, to edit these files and create custom shaders. This system was rolled out to Windows first, then Xbox and as of Minecraft 1.18.30, all platforms and devices now run on the new Render Dragon engine. Much to the detriment of a lot of mobile users complaining of sever lag and rendering issues on their devices.
…understand that this is a valuable feature...
Even after months, if not years of outcry from the community, since the initial rollout of this rendering engine, Mojang have barely mentioned the changes and have said very little about allowing for future customization of these files. Additionally, when RTX became the next big thing for Minecraft Bedrock Edition, it was feared that shaders would never be a thing again.
RTX is a form of shaders for Minecraft, allowing the game to run with Ray Tracing capabilities and some minor customization over how blocks render in the game. It re-introduced lighting effects, shadows and bloom, but had none of the customization of shaders in the sense of using it for anything technical. What's worse is that RTX is only available to people running Minecraft on Windows with a very expensive, high end graphics card (GPU) capable of running the latest iteration of raytracing. Considering the majority of Minecraft Bedrock players play on mobile devices or consoles, that meant only a rare few players could use these features, and those who did found them lacklustre and not giving them really what they needed.
In a recent official change log from Mojang, it was stated in reference to custom shaders no longer being supported, that "We understand that this is a valuable feature for players and the creator community, and we a re working on how we may be able to deliver this sort of creative capability to players and creators in an officially supported way."
So we can now see that Mojang understand that this is something the community wants, but there doesn't seem to be and progress being made in this direction officially.
…not a complete works yet...
However, in a recent twitter post by @fragmites (RA Cartwright) it appears that the customization of the new render dragon shader files is being figured out. He showcased a preview version of a chunk line shader for the Render Dragon made by ΘΣΦΓΥΔΝ stating that "it works exactly how I want it to."
Delving deeper into this, it appears that ΘΣΦΓΥΔΝ (OEOTYAN) has been spending a lot of time, reverse engineering the new .bin (binary) shader files and finding out how to decompile them so that they can once again be edited. Apparently, the new shader files are basically the exact same as the old ones, just compiled to hide the code inside, which has made the job of reverse engineering them possible, as they can see what the output of those files should look like. It's not an easy task though and I believe at the time of writing, the work is not complete, but so far OEOTYAN has published two pieces of software to GitHub which allow the community to use what they've worked on, to decompile and edit shaders themselves.
The two tools, named MaterialBinTool and RenderDragonSorceCodeInv are both available publicly on GitHub and contain the necessary files for budding shader artists, to open the shader files and edit them to their needs. As mentioned, it's not a complete works yet and we're still in the early stages of this, but assuming Mojang don't pull the rug from under them by blocking this in some way, it looks like we'll soon be seeing community shaders available to use and download once again.
I'm not sure what the legality of all of this is. Technically these files are breaking into files that Mojang or Microsoft clearly don't want people to access, however I would doubt that it's outright illegal.
Looking forwards, I would hope that Mojang allow this to continue and even publish their own official methods of bringing this level of customization back to the community, as they suggested above. I just hope that Mojang's idea of officially supported, isn't as limited and basically useless as their officially supported way to customise RTX packs!
Article Author: FoxyNoTail
Foxy is a Minecraft player, content creator and official Marketplace Partner. He's been playing the game for over 12 years, delving into the code creating datapacks, add-ons, resource packs and other tools for the Minecraft player base and communities to use and enjoy. He also hosts The Minecraft Update weekly podcast. You can find Foxy on Twitter @foxynotail
Publisher: Minecraft Update News
The Minecraft Update News is produced and published by author FoxyNoTail as part of the foxynotail.com website. Sourced directly from working as a content creator, player and officially partnered producer, FoxyNoTail has the facts and figures at his disposal to ensure news articles are current, relevant and factual. Foxy has 12+ years experience in not just playing Minecraft, but creating content, videos, streams, data packs, servers, add-ons, packs, podcasts, licensed content and now news. Revered by the community as a trust worthy, reliable and honest source of news and opinion, Foxy's data is trusted and acknowledged regularly.