Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save zhangzhibin/4a3d8ae22d5e43d9c523b32c12552f6e to your computer and use it in GitHub Desktop.

Select an option

Save zhangzhibin/4a3d8ae22d5e43d9c523b32c12552f6e to your computer and use it in GitHub Desktop.
Exploring one-click V-Slice mod installation on Android

How to One-Click Install V-Slice Mods on Android (An Exploration)

TL;DR: For typical players, a third-party app cannot reliably one-click install mods into official FNF Mobile today. The official manual workflow (OPEN DATA FOLDER) remains the most stable path. Advanced workarounds exist but are not mass-market friendly.


Why I started looking into this

I was reading this V-Slice setup and troubleshooting guide:

Modding FNF V-Slice: Setup, Mobile Workflow, and Troubleshooting

It documents the official mobile workflow clearly:

  1. Launch official Friday Night Funkin' (Google Play, me.funkin.fnf)
  2. Go to OPTIONS → OPEN DATA FOLDER
  3. Copy the mod folder into the in-game sandbox mods/ directory
  4. Restart the game

The article also stresses important rules:

  • Mods must be V-Slice / Polymod (with _polymod_meta.json) — Psych Engine mods are not interchangeable
  • Match api_version to your game build (the article verified Desktop v0.8.4 and Android v0.8.5 hotfix as of July 2026)
  • Avoid nested folders (mods/MyMod/MyMod/... will break loading)
  • Do not trust random unofficial "Mod APK" repacks

The process is correct, but still painful for beginners:

  • Find and extract the right mod package
  • Understand V-Slice folder layout
  • Copy files in a file manager — while Android 11+ restrictions on Android/data make that step especially unfriendly

So I asked: Can we build a Mod Loader that installs mods into mods/ with one tap?


What I mean by "one-click"

  1. User picks or downloads a V-Slice mod (usually .zip)
  2. The app automatically: extracts → validates → writes into FNF's mods/ folder
  3. User opens the game and plays

Not included: root, repacked APKs, or unofficial all-in-one builds.


Where do mods actually live?

On OnePlus 12 + official FNF v0.8.5, the real path is:

/storage/emulated/0/Android/data/me.funkin.fnf/files/mods/

This is FNF's app-specific external storage, created after the game runs at least once.

Many tutorials still mention Android/obb/me.funkin.fnf/mods/, but on my device that OBB path does not exist. Trust what the game creates.

OPEN DATA FOLDER works because FNF exposes its own data via a custom DocumentProvider (the UI may show "FNF" instead of the package name). That is not the same as a third-party app picking a random folder via SAF.


What I tried

Approach A: SAF (Storage Access Framework)

Idea: Let the user grant access to mods/ via ACTION_OPEN_DOCUMENT_TREE, then write files.

Result: Failed.

  • The picker did not jump to FNF's directory; it fell back to "All files"
  • Under Android/, only media, obj, etc. appeared — no data / obb

This matches Google's documentation: on Android 11+, apps cannot use SAF to request Android/data or Android/obb.


Approach B: All files access (MANAGE_EXTERNAL_STORAGE)

Idea: Request "All files access" like a file manager and write directly to mods/.

Result: Failed.

  • System settings showed permission as granted (allow)
  • adb could see the mods/ directory
  • The Mod Loader process still saw: exists=true, read=false, write=false

Google's docs state explicitly: even with MANAGE_EXTERNAL_STORAGE, apps still cannot access other apps' directories under Android/data/.

This is Android platform policy (see Android 11 storage updates), not a OnePlus-only quirk.


Approach C: Extract to Downloads + guided manual copy

Idea: The app only downloads, extracts, and validates; then guides the user through OPEN DATA FOLDER.

Result: Possible, but barely a "Mod Loader".

It is close to "tutorial + ZArchiver" with extra validation. It does not remove the hardest step.


Approach D: Shizuku + on-demand shell copy (advanced)

Idea: User starts Shizuku Server via wireless debugging; the Mod Loader runs cp into mods/ when installing.

Status: Theoretically viable, not for mainstream users.

  • Requires Developer Options, wireless debugging pairing; Server often needs restart after reboot
  • Play Store Shizuku may show as incompatible on newer devices (e.g. OnePlus 12) — sideload from GitHub Releases instead
  • Device variance is high; must be validated per phone

Design notes: shizuku-mod-loader-design.md


Why almost no Play Store "one-click FNF Mod Loader" exists

Not because nobody thought of it — Android blocks the core use case:

Path Third-party app Official FNF
SAF to mods/ ❌ Blocked by OS
All files access to Android/data ❌ Excluded by policy
Copy inside OPEN DATA FOLDER ✅ By design
In-game zip install API ⚠️ Needs official support (best long-term fix)

Community tools (ZArchiver, Shizuku, etc.) are workarounds, not zero-setup solutions for average players.

FNF maintainers noted in GitHub #5366 that writing into Android/data via third-party file managers can cause polymod_meta.json read failures. The supported path is still Open Data Folder from inside the game.


Is "one-click install" dead?

For typical players (recommended)

Not via a third-party app today. Use the official V-Slice mobile workflow:

Modding FNF V-Slice — Official mobile workflow

In short:

  1. Install and launch official FNF at least once
  2. OPTIONS → OPEN DATA FOLDER
  3. Copy the extracted mod folder (with _polymod_meta.json at its root) into mods/
  4. Restart the game

Before installing, verify:

  • The mod is V-Slice / Polymod, not Psych Engine
  • api_version matches your game version
  • No extra nested wrapper folder

For developers / power users

  1. Shizuku on-demand install (sideload, advanced) — may skip manual copy on some devices, high setup cost
  2. Upstream feature / PR to FunkinCrew — built-in "install mod from zip" in FunkinCrew/Funkin is the sustainable one-click path

The open-source tree already has relevant pieces: DataFolderProvider, PolymodHandler, and OPEN DATA FOLDER in Options.

Research repo

I documented experiments and a small Android MVP here:

https://github.com/open4game/fnf-v-slice-mod-loader

Includes a feasibility report and Shizuku design draft.


Summary

Question Answer
Why is V-Slice modding on Android painful? Mods live in FNF's private directory; the OS blocks third-party writes
Can a third-party app one-click write to mods/? Generally no (SAF and all-files access both failed in testing)
Official recommended path? OPEN DATA FOLDER and copy (see V-Slice article above)
Any advanced workaround? Shizuku + shell (niche, unstable, not Play-oriented)
Best long-term fix? Official in-game install support

References


Last updated: 2026-07-06 · Test device: OnePlus 12 · Game: FNF Android v0.8.5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment