● Official Release

Ambient Launcher

A dedicated utility environment for Minecraft Bedrock on Android. Zero memory leaks, zero input delay. Just Minecraft, the way it should run.

Everything you need.
Nothing you don't.

Version Selector
swap_vert

Version Selector

Switch between game versions instantly with isolated saves, mods, and settings.

Shader Loader

Shader Loader

Apply and swap shader packs in seconds.

Pack Manager

Pack Manager

View and manage your packs with ease.

World Manager

World Manager

Duplicate, backup, import and export worlds.

Playtime Stats

Playtime Stats

Track sessions, time and per-world activity.

Mod Loader
extension

Curseforge Integration

Install and manage mods inside Ambient without extra tools.

More tools built in.

NBT Data Editor

NBT Data Editor

Structure Extractor

Structure Extractor

Skin Loader

Skin Loader

Resourcepack Import

Resourcepack Import

In-game Stats

In-game Stats

Client Logs

Client Logs

Storage & Paths

Storage is pre-defined for stability. Toggling Internal/External storage is not supported — this is expected. All game files remain accessible for manual backup or modding.

/Android/media/io.kitsuri.mayape/games

You may need a file manager that can access Android/media — Shizuku + ZArchiver or similar works on modern Android.

Known Bugs

  • Persistence: Settings reset when toggling between AmbientUI and OreUI.
  • Resource Packs: Imported packs expose textures in gallery apps. Fix: add an empty .nomedia file in Android/media/io.kitsuri.mayape/.
  • Add-ons: .mcaddon files aren't supported yet — force load them manually.

Changelog

V1.0.4 Hotfix
Ambient: Pocket Edition
Bug Fixes
  • Fixed Marketplace issues
  • Fixed Dressing Room / Skins not working
  • Fixed servers not loading
  • Fixed key mapper crash
  • Fixed shader loader for version 1.26.10.4
Features & Improvements
  • Added more customization options
  • Added keymap button lock
  • Improved overall performance
API Changes
  • Added RenderAPI::Register(cb fun ptr)
  • Added RenderAPI::Unregister(cb fun ptr)
  • Added TouchAPI::RegisterCallback(cb)
  • Added TouchAPI::UnregisterCallback(cb)
  • Added KeyApi::RegisterHandler(handler)
  • Added KeyApi::UnregisterHandler(handler)
  • Added TouchEvent fields: action pointerId x y
Removals
  • Removed Shader auto-fixer — removed to align with YSS changes.
● For Developers

API Reference

JS API overview for Ambient mod development. Primary template: Lodingglue/nise-api

Logging

log(message)

Routes messages through the client logger (tag: "JS").

log("Script initialized successfully.");

Utility Functions

readFile(path)

Read a file from the device filesystem.

const data = readFile("/sdcard/MyMod/patch.bin");

writeFile(path, data)

Write data to a file on the device filesystem.

writeFile("/sdcard/MyMod/log.txt", "hello world");

Virtual Assets

VirtualAssets.addFile(path, data)

Inject a virtual asset into the game's asset system at runtime.

VirtualAssets.addFile("textures/terrain/grass.webp", buf);

Hooking

Hook.hookAddr(name, targetAddr, hookFunc, originalFunc, hookType, priority)

Installs an inline hook at targetAddr.

const tramp = Hook.hookAddr(
  "myHook", target, myReplacementFn,
  origPtr, Hook.Type.INLINE, Hook.Priority.HIGH
);

Hook.patchNop(name, addr, size = 4)

Patches instructions with NOPs.

Hook.patchNop("disableCheck", Hook.getBaseAddr() + 0xDEAD, 8);

Render API V1.0.4

RenderAPI::Register(cb fun ptr)

Registers a callback invoked each render frame.

RenderAPI::Register(myRenderCallback);

RenderAPI::Unregister(cb fun ptr)

Unregisters a previously registered render callback.

RenderAPI::Unregister(myRenderCallback);

Touch API V1.0.4

TouchAPI::RegisterCallback(cb)

Registers a callback to receive touch events with action, pointerId, x, y.

TouchAPI::RegisterCallback(function(event) {
  log("Touch at " + event.x + ", " + event.y
    + " | pointer: " + event.pointerId
    + " | action: " + event.action);
});

TouchAPI::UnregisterCallback(cb)

TouchAPI::UnregisterCallback(myTouchCallback);

TouchEvent Fields

FieldTypeDescription
actionintTouch action type (down, move, up…)
pointerIdintUnique ID per active touch pointer
xfloatX coordinate of the touch point
yfloatY coordinate of the touch point

Key API V1.0.4

KeyApi::RegisterHandler(handler)

Registers a handler to receive key input events.

KeyApi::RegisterHandler(myKeyHandler);

KeyApi::UnregisterHandler(handler)

KeyApi::UnregisterHandler(myKeyHandler);