Skip to content
This repository was archived by the owner on Aug 10, 2025. It is now read-only.
/ matject Public archive

Matject - Universal batch script made for Windows to dynamically change .material.bin files of Minecraft Bedrock Edition. With automatic backups and many more features!

Notifications You must be signed in to change notification settings

faizul726/matject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Matject v3.7.0 [EOL]

A smart, highly customizable material.bin replacer for Mincraft Windows.
Supports both Minecraft and Minecraft Preview with backup and restore.

Last updated: August 09, 2025

Current state of Matject

As you may have seen, Matject is receiving way less updates now.
It's because Matject has peak of its' development thus it requires less maintenance now.
I have decided to abandon Matject because Microsoft as a company is not predictable. In recent Windows update they started silently rejecting PowerShell admin requests and I can't reproduce the issue myself. There will be a lot more issues like this in future and I won't be able to catch up all time.

So, Matject is provided as-is now. I will not be providing any updates for it anymore.
material-updater may stop working because it uses hardcoded values.

Thank you for all the support so far. I greatly appreciate everyone who was involved in the project. The repository will be archived now.

404 Shader credit: Sharkitty


💡 How to use? | 🔄 How to remove shaders | 💁‍♂️ I need help


❌ DO NOT MIRROR/REUPLOAD THIS ANYWHERE! ❌

Matject is now distributed under a license from YSS Group.
By using Matject, you agree to the terms stated in TERMS.md

hero

🛠️ Requirements

  • IObit Unlocker installed (mandatory, no need to do anything with it afterwards)
  • PowerShell (mandatory) (pre installed on most Windows systems by default)
  • Ability to read
  • Common sense
    Sorry for being rude, I am tired of spoonfeeding clueless people.

📗 Here's what you need to know

  • Only RenderDragon shaders for Windows/Merged are supported.

  • You don't have to open Matject everytime for shaders. It's only needed when you want to apply/swap/remove shaders.
    Once shader is applied it will stay until you update the game or use shader removal in Matject.

  • Check out Matject Settings to fine tune it to your needs.

  • Matject doesn't patch Minecraft it dynamically replaces .material.bin files of Minecraft.

  • Matject needs Minecraft to have unmodified materials so backup and shader removal works properly. If you are not sure whether you have original materials or not, use verifyMaterials_vX.XX.XX.bat from https://mcpebd.github.io/materials for your Minecraft version.

  • If you use Microsoft Defender antivirus then make sure to go to Device security -> Core isolation and turn off "Microsoft Vulnerable Driver Blocklist" and "Local Security Authority protection" to make sure IObit Unlocker doesn't fail silently, you may need to disable "Memory integrity" as well.


💡 More things you need to know (click to expand)
  • If you switch/remove shaders often then it's recommended to use matjectNEXT instead of Auto with these settings:
    • General
      • Default method: matjectNEXT
      • Use material-updater to update materials: ON
      • Disable confirmations: ON
    • Custom paths
      • Set custom Minecraft app path (optional)
      • Set custom Minecraft data path (optional but recommended)
    • matjectNEXT settings
      • Just sync and exit: ON
      • Automatically open Minecraft after sync: ON
    • Updates & Debug
      • Run IObit Unlocker as admin: ON
      • or
      • Always run Matject as admin: ON
      • or
      • Just manually run Matject as admin
  • If you have installed Minecraft using Bedrock Launcher or some kind of version switcher or have write access to Minecraft app folder then it's recommended to enable Direct Write mode. So, Matject uses tradtional copy/delete commands instead of IObit Unlocker.
  • If blocks become invisible after injecting, enable material-updater from Matject Settings or use the version which is compatible with your Minecraft version.
  • Matject can't enable Deferred Rendering/Vibrant Visuals/RTX.
  • The word "Injection" here means file replacement. So Matject basically uses IObit Unlocker to dynamically replace files.
  • Matject needs unmodified materials (game files) to begin with. Or the shader removal function will be useless.
  • Some packs have subpacks which is like settings for resource packs. You can see a gear icon in some activated resource packs
  • Matject doesn't patch your game. So just removing shader from resource pack won't work. Use Shader Removal of Matject for that.
  • Always try to use latest version. Matject has a built in updater to update itself.
  • Matject is universal. It will continue to work fine as long as Mojang doesn't heavily changes how shaders work.
  • Avoid downloading Matject from random links except github.com/faizul726/matject

⭐ Full feature list (click to expand)
  • Easy to use: No Command Prompt/Terminal knowledge is required.
  • Highly customizable: Adjustments according to your needs can be made in Matject Settings.
  • Fully offline: Can be used offline. Internet is optionally used to enhance experience.
  • Portable: All necessary files are stored in the same folder as Matject.
  • Fast as jet: Takes less than 60 seconds to apply a shader.
  • Preview support: Also supports Minecraft Preview backups and settings are stored separately for Preview and Release.
  • Automatic backups: Backups are made automatically when game is updated.
  • Restore game files: You can go back to original whenever you want.
  • Automatic processing: MCPACK/ZIPs are automatically processed.
  • Auto shader updater: Shaders can be updated using material-updater (also fixes invisible blocks).
  • Auto updater: Can automatically update itself if you want.
  • Smart file replacement: Keeps track of modified files and automatically restores when needed.
  • matjectNEXT: Applies shaders based on the first activated pack in Global Resource Packs.
  • Direct write mode: If Minecraft folder is writable, you can enable this option so Matject will use traditional copy/delete commands instead of IObit Unlocker. (you still need to have IObit Unlocker installed because this feature is still not fully tested)

⚠️ Known issues (click to expand)
  • Doesn't work well with long folder path and too many shader files.
  • Some antivirus may prevent IObit Unlocker from working. (AVG and Norton are known to do this)
  • Some shaders may cause the game to crash or show red sky. It's not a fault of Matject.


🖼️ Screenshots (click to expand) matject_1
Matject Settings
Matject Settings
Custom paths
Custom paths
matjectNEXT
matjectNEXT
Restore materials
Shader removal

You can also call it Matjet because it's as fast as a jet.
I know I'm exaggerating...


✨ What's new in v3.7.0?

  • matjectNEXT is now stable
  • Added new matjectNEXT settings
  • More user friendly messages
  • See full changelog...



💡 Quick Guide

  1. Install IObit Unlocker
    No need to do anything with it afterwards.

screenshot

  1. Download code as ZIP.

  2. Extract the ZIP file.

  3. Open matject/matject.bat (with gear icon).


screenshot

  1. Follow on screen instructions (Please READ. It says what to do in each step.)

Tip

Need help?

Join any server below and mention me.
Bedrock Graphics In channel #matject
Or
Newb Discord server In channel #newb-support or #renderdragon
YSS Discord Server In channel #windows or #renderdragon

And, I will try to help you. I don't own any Discord server. These are other communities where I am active most.




🔄 How to restore to default / uninstall shaders?

Tip

Original files are restored automatically when the game is updated.

  1. Open Matject.
  2. Go to [R] Shader removal/Tools.
  3. Go to [1] Shader Removal / Restore default materials
  4. Select [1] Dynamic Restore or [2] Full Restore (both are same, except full restore takes a bit more time).

screenshot



🤝 Credits

Honorable Mentions
People of YSS and Newb Community for their humble support.

TrngN0786 and @Theffyxz for helping me to fix bugs.
@Sharkitty, @FlaredRoverCodes, @BatmanBinSuparman49 and all other people who tested and gave feedback.



🤔 FAQ

Q. Is it safe?
A. Yes, it is. You're welcome to review the code.

Q. What is matjectNEXT?
A. matjectNEXT is an advanced version of Matject that replaces materials based on the pack the user has set in Global Resource Packs, with help of jq.
Inspired by Draco which is made by @mcbegamerxx954.

Q. How is this different from BetterRenderDragon?
A. BetterRenderDragon uses memory injection, all the changes are made in memory and those don't persist. You have to open BRD each time to use shaders.
It's not universal, so BRD devs have to update it for newer Minecraft versions to make it work.
Changes made by Matject will stay until Minecraft is updated or user restores default materials from Matject.
It's mostly universal, so it should work with any Minecraft version.

Q. Does it require internet to work?
A. No, internet is optionally used to enhance user experience

  • To check for updates and show the changelog. Updating is optional.
  • To show Matject announcements
  • To get jq by itself (for matjectNEXT).
  • To get material-updater by itself.

Q. I have questions/need help.
A. Ask in one of the Discord servers above

Q. What folders does it access?

A. It accesses the following folders:
READ only:
  • %ProgramFiles(x86)%\IObit\IObit Unlocker\IObitUnlocker (backbone of Matject)
  • Minecraft app location. Which is obtained using this PowerShell command:
(Get-AppxPackage -Name Microsoft.Minecraft*).InstallLocation
  • %LOCALAPPDATA%\Packages\Microsoft.Minecraft*_8wekyb3d8bbwe\LocalState\games\com.mojang\minecraftpe\global_resource_packs.json (for matjectNEXT)
  • %LOCALAPPDATA%\Packages\Microsoft.Minecraft*_8wekyb3d8bbwe\LocalState\games\com.mojang\resource_packs\* (for matjectNEXT)
  • .settings Backups\* Backups (Preview)\* logs MATERIALS MCPACKS modules\* tmp
  • Custom paths: Minecraft app, data, IObit Unlocker
READ and WRITE:
  • %ProgramFiles%\WindowsApps (to unlock WindowsApps)
  • %ProgramFiles%\WindowsApps\Microsoft.Minecraft*_*_*__8wekyb3d8bbwe\data\renderer\materials
  • %LOCALAPPDATA%\Packages\Microsoft.Minecraft*_8wekyb3d8bbwe\LocalState\games\com.mojang\minecraftpe\global_resource_packs.json (to reset global packs)
  • .settings Backups\* Backups (Preview)\* logs MATERIALS modules tmp
  • Custom paths: Minecraft app, data

Q. মুরগি কি ধান খায়? 🐓
A. হ, খায়।



Support

You can support me through various ways:



🕓 Changelog

v3.7.0 - August 09, 2025
  • Added Matject Exam
  • Added separate help pages for some places
  • Added new guiding texts in some places to make it more user friendly
  • Added target pack number setting for matjectNEXT
  • Added setting to automatically open Minecraft after matjectNEXT sync
  • Added setting to reapply the same pack for matjectNEXT
  • Added setting to scan only development or normal resource packs
  • Added progress bar for Full restore step 3
  • Added progress bar for Materials backup
  • Added Never Gonna Give You Up
  • Matject is now distributed under a license from YSS Group.
  • Matject Settings now stores most settings in single text file
  • matjectNEXT is no longer BETA
  • Full restore now shows an error if Full Restore didn't go well
  • Incomplete backup/injection is now handled separately for both editions of Minecraft
  • Direct write mode now uses COPY and DEL instead of MOVE
  • Improved Custom Minecraft app path setting
  • Improved resource pack scanning for matjectNEXT
  • Improved custom path inputs
  • Improved Matject startup logic
  • Moved a lot of extra information under debug mode
  • More robust file/folder creation in some cases
  • Fixed 'terminal to use' prompt of initial shortcut creation
  • Fixed an issue with dynamic restore when run IObit Unlocker as admin is on
  • Deprecated Auto and Manual method

v3.6.0 - Apr 16, 2025
  • Added auto version detection for material-updater [preview not supported]
  • Added direct write mode: Use normal move/delete commands instead of IObit Unlocker [sideloaded installation only]
  • Added new settings UI for material-updater
  • Added a brand new loading screen
  • Added a setting to change the number of materials processed per cycle for full restore
  • Added a secret game
  • Reworked full restore logic: It should work better now
  • Full restore no longer empties backup folder
  • A warning now will be shown if materials are ntot moved/deleted properly
  • MATERIALS folder now has to be empty before using auto/manual
  • Custom path toggle color will be orange if path is invalid
  • matjectNEXT now supports IObit Unlocker popup reduction
  • Updated about screen
  • Fixed non-English text display issues in some places
  • Fixed an issue with GameData location
  • Lots of small UI improvements

v3.5.2 - Feb 21, 2025
  • Fixed WindowsApps unlock failure
  • Fixed Minecraft Preview backup handling
  • Auto closing for IObit Unlocker no longer shows a separate window
  • Shortcuts can now open Matject in Windows Terminal
  • Added notification sound in some confirmation screens
  • Added a setting to force using PowerShell for extracting ZIPs
  • Added 10 new Matject tips
  • Added MIT license
  • Improved Matject opening behavior
  • Improved admin permission detection
  • Improved shortcut creation/deletion
  • Minor UI improvements

v3.5.1 - Feb 02, 2025
  • Fixed a CRITICAL BUG that deletes all user files.
  • Added module verification to ensure reliability.
  • Matject no longer runs when tried to run without extracting.
  • Matject now uses more "specific" locations.
  • Fixed an issue with Matject updater.
  • Fixed an issue with full restore.
  • Other minor changes.

v3.5.0 - Jan 15, 2025
  • Added Matject updater.
  • Added multiple MCPACK/ZIP support for MCPACKS folder.
  • Added Matject tips.
  • Added "Show announcements" setting.
  • Added "Disable tips" setting.
  • Added "Run Matject as admin always" setting.
  • Added "Run IObit Unlocker as admin" setting to reduce admin permission requests.
  • Added manifest checker for matjectNEXT.
  • Added more bugs to fix later.
  • Auto mode now shows last MCPACK and subpack name.
  • Restore screen now shows restore date.
  • ZIPs now can also be opened as MCPACK.
  • IObit Unlocker messages are now automatically closed when Matject is run as admin.
  • Getting Minecraft details is now faster.
  • First run now asks to download material-updater.
  • curl should no longer be able to execute using variables.
  • Fixed a math related issue with update checker.
  • Fixed a issue with how MCPACKs are processed Thanks to raden
  • Cursor is now hidden where it's not needed.
  • Some UI improvements.

v3.4.0 - Dec 23, 2024
  • Added subpack support for auto method.
  • Added zipped materials support for auto method.
  • Added new settings: Don't open folder automatically.
  • Added loading text (not everywhere)
  • Added reset settings option.
  • Added Drop to shell (needs debug mode)
  • Can now make shortcuts.
  • New icon if using shortcut.
  • Optimized folder opening.
  • Optimized update checker.
  • Should no longer cause crashes when folder name contains space.
  • Should no longer fully exit if something goes wrong.
  • Preview mode now is automatically disabled when not installed.
  • Other minor changes.

v3.3.0 - Dec 10, 2024
  • Added Minecraft Preview support.
  • matjectNEXT now can be used without DEBUG MODE.
  • Improved matjectNEXT functionality.
  • Improved extract speed by using tar.
  • Improved settings functionality.
  • Improved backup ZIP check.
  • Fixed Dynamic Restore comparison.
  • Fixed OLDVERSION variable.
  • Delete Backups folder if empty.
  • Other minor changes.

v3.2.2 - Dec 06, 2024
  • Added custom Minecraft launcher support (thanks to @TrngN0786)
  • Added custom Minecraft data path support
  • Added custom IObit Unlocker path support
  • Added interruption check
  • Added restore confirmation
  • Added an easter egg
  • Update checker now shows the changelog
  • Fixed colors in some texts
  • Fixed RESTORELIST variable (thanks to @TrngN0786)
  • Fixed Minecraft app path and Just sync and exit toggle
  • Other minor bug fixes

v3.2.1 - Dec 04, 2024
  • Fixed matjectNEXT unable to find pack path (once again thanks to @jcau8)
  • Added compatibility check for materials (thanks to @Veka0)
  • Revamped settings page with tabs
  • Several small improvements to functionality
  • Added development_resource_packs support (matjectNEXT)
  • Improved MCPACK detection
  • Added the ability to replace backup using ZIP file (Restore & Others)

v3.2.0 - Nov 26, 2024
  • Added matjectNEXT.
  • Fixed writing on encrypted drives. (thanks to @jcau8)
  • Added curl check.
  • Renamed Partial Restore to Dynamic Restore.
  • Improved Dynamic Restore speed.
  • Fixed some typos.
  • Other minor bug fixes.

v3.1.0 - Nov 18, 2024
  • Bump version.
  • Fix credit names PR #4.

v3.0.3 - Nov 16, 2024
  • Added update checker (thanks to @jcau8).
  • Moved variables to variables.bat.
  • Fixed some typos.
  • Delete backup date file after full restore.
  • Added GitHub link in others.
  • Changed pushd to cd /d.

v3.0.2 - Nov 15, 2024
  • Fixed directory changing and unlockWindowsApps (thanks to @Theffyxz).
  • Added update checker module as a placeholder.
  • Added credits section in README.

v3.0.1 - Nov 13, 2024
  • Fixed unlockWindowsApps not saving result.
  • Updated "about" details.
  • Semantic Versioning (something that I still don't understand properly).

v3.0 - Nov 06, 2024
  • Fixed partial restore.
  • Added material-updater support.
  • Added help (but not helpful).
  • Added settings.
  • Added date for backup.
  • Added the ability to open MCPACK automatically after injection.
  • Added first run message.
  • Made backup mandatory.
  • Improved home screen.
  • Only accept *.material.bin files.
  • Removed openMinecraftFolder.bat and added it as a separate option.

v2.5 - Oct 20, 2024
  • Added colored texts.
  • Removed settings.bat placeholder as it's not required before v3.0.

v2.0 - Unknown date
  • Much more user-friendly than before.
  • Dynamically finds Minecraft location.
  • Skips questions if user meets requirements.
  • Prompts to delete backup if it detects a different Minecraft version.
  • Restores vanilla shaders (BETA).
  • Shows error if user declines UAC and asks again.
  • Automatically opens MCPACK/MATERIALS folder for user to put files.
  • Extracts materials from user-provided MCPACK/ZIP (still can't detect if it's an RD shader).
  • Dynamically restores only modified bins from previous inject to ensure consistency among different shaders (BETA) (works only if user has made a backup before).
  • Added settings.bat for tweaking options (WIP).
  • Added openMinecraftFolder.bat to open the Minecraft folder.
  • Simplified WindowsApps unlock procedure; now it unlocks instantly.

v1.0 - Unknown date
  • Initial release.

About

Matject - Universal batch script made for Windows to dynamically change .material.bin files of Minecraft Bedrock Edition. With automatic backups and many more features!

Topics

Resources

Stars

Watchers

Forks