v1.0.9 · Open Source · MIT

WuWaConfig

Android app for Wuthering Waves performance optimization — analyzes device logs, generates optimized Engine.ini configs, boosts FPS, tunes graphics, tracks gacha pity, and analyzes battle stats. Privacy-first, no telemetry, no ads.

⬇ Download APK ⎗ Source Code
📱 Android 8+ ⚙️ 4 Access Methods 📊 5,237 CVars 🏆 8 Presets 🔒 No Analytics ⚗️ Kotlin + Compose
5,237
CVars in Database (libUE4.so)
693
Monitored CVars (ConfigMonitor)
8
Config Presets
37
Restricted CVars Flagged
18
CVar Categories
13
Navigable Screens

Features

Config Generator

8 presets from Potato to Cinematic. Analyzes device log, SmartBrain scores your hardware, generates 5 optimized INI files: Engine.ini, DeviceProfiles.ini, GameUserSettings.ini, Scalability.ini, Hardware.ini. 19 toggleable options including 120 FPS unlock, Ultra quality, VSync, Vulkan safety, HZB occlusion, and 23 experimental CVars.

🎯

Pity Tracker

Fetches gacha history from Kuro’s official API. 11 pool types including Character/Weapon/Standard events. 50/50 and 75/25 prediction, soft pity detection (66 for character, 57 for weapon), hard pity countdown (80/70). Background polling with notification. 12-hour cache.

📊

Battle Stats

14 battle counters extracted from Client.log: battles fought, echoes collected, dodges (forward/back/counter), deaths, role changes, teleports, staggers, stamina used, echo skills, transforms, month cards. 100% file coverage via parallel partition reads.

🧠

Smart Brain Scoring

Algorithm scores your device 0–100 with ~20 weighted signals: GPU tier (+30 to -20), RAM (+8 to -15), Vulkan (+8), FPS drops (-6 to -18), thermal (-5 to -20), GPU OOM (-12 to -30), frame drops, forbidden CVars, render scale, resolution penalty, and more. Recommends optimal preset.

🔄

Auto-Tune Wizard

Iterative benchmark loop (up to 5 rounds): deploys preset, captures FPS via logcat parsing, steps through 8 preset levels (cinematic→potato), adjusts options based on FPS gap (disables SSR, bloom, blur progressively). State persisted to JSON.

📦

Backup & Restore

Per-file selection backups with UUID identification. Auto-backup before any config write. Restore individual INI files. Backups saved to both private storage and Downloads/WuWaConfig/Backups/ for file manager access.

🗃

INI Editor

Full-screen monospace editor for all 5 config files. Edit CVars inline with hash refresh on save. Automatic CVar optimization flags redundant lines ("REDUNDANT - matches game default") and unknown CVars ("UNKNOWN - not in libUE4.so dump").

🔍

Deploy Verification

After deployment, pulls fresh Client.log and cross-references deployed CVars against ConfigMonitor database. Shows accept/reject badge with color-coded tag chips: redundant count, unknown count, monitored count. Hash snapshot + reconcile detects concurrent game access.

📱

Player Profile

Read-only read of UID, server, level, game version, language, tower floor, weekly rogue score, battle pass status, and config setting counts. Zero footprint — game cannot detect. Cached with manual refresh.

🔧

ADB Wire Protocol

Native in-app ADB implementation — no external binary needed. Full auth handshake (RSA 2048-bit, SHA1withRSA signing, SSH-RSA pubkey), auto port scanning (37,000–44,000 + 5555), 15s keepalive, base64 chunked push with MD5/size verify.

🔐

Encrypted ADB Keys

RSA 2048-bit keys encrypted at rest via AndroidKeyStore (AES-256-GCM with HKDF). Automatic plaintext-to-encrypted migration. Keys stored as EncryptedFile in app data directory.

🛡

Privacy First

No analytics SDKs — no Firebase, Crashlytics, Sentry. No telemetry, no crash reporting. No data sent to third parties. Only connects to localhost ADB and Kuro’s official gacha API (user-initiated). android:allowBackup="false".

How It Works

1

Connect to Device

Choose from 4 access methods: ADB (in-app wireless debugging), Shizuku (API-based), Root (su shell), or SAF (Storage Access Framework). The app connects and reads game config files from Android/data/com.kurogame.wutheringwaves.global/.

ADB auto-scan 37000-44000Shizuku reflection APIRoot su -c 10s
2

Analyze Client.log

Reads and decodes the encrypted Client.log from device (auto-detects UTF-16BE/LE/UTF-8). Extracts 30+ signals: GPU family, device model, SoC, RAM, resolution, FPS cap, actual FPS, screen percentage, shadow quality, RHI/API, thermal events, texture errors, GPU OOM, frame drops, active CVars.

Log decoding30+ regex signalsChunked dd reads
3

SmartBrain Scores Your Device

Algorithm evaluates your hardware 0–100 across 20+ weighted signals. GPU tier (flagship/high/mid_high/mid/mid_low/low/unknown), RAM tiers, Vulkan availability, thermal throttling history, OOM events, frame drop patterns, CVar optimization quality, and more. Recommends the ideal preset.

80+ Ultra70+ High40+ Balanced20+ Performance≤20 Potato
4

Generate & Customize

Choose a preset (Potato through Cinematic) or use advanced mode. Toggle 19 options: 120 FPS unlock, Ultra quality unlock, VSync, auto cooling, force Vulkan, HZB occlusion, disable fog/CA/outlines/blur/bloom/auto-exposure/SSR, GSR, and 23 experimental CVars. Select which of the 5 INI files to generate. Edit CVars inline in the review dialog.

8 presets19 toggles23 experimental CVars5 INI files
5

Deploy & Verify

Reads device Engine.ini for [Core.System] paths (70+ game plugin paths preserved), generates configs with automatic CVar optimization, pushes via staging dir with retry, refreshes KuroConfigMonitor hashes (ModifyCount capped at 8). Pulls fresh Client.log, cross-references deployed CVars, and shows verification report with accept/reject badge.

Hash snapshot+reconcile70+ Core.System pathsRetry 2x

Presets

8 presets covering every device from low-end to flagship. Each tuned across 11 key parameters.

Preset Screen % Shadow ShadowRes SSR MipBias Streaming View Dist Foliage LOD Detail LOD Bias Grass Cull
POTATO50%0128030.30.30.4051,500
ENDURANCE55%0128030.40.40.5042,500
PERFORMANCE60%0256030.50.50.6034,500
COMPETITIVE100%0256011.02.01.0012,000
BALANCED80%21,024102.01.52.01015,000
HIGH100%42,048203.02.02.52020,000
ULTRA100%52,0484-14.03.03.02-130,000
CINEMATIC100%54,0964-26.04.04.03-240,000

Potato & Performance Extra Aggressive Tweaks

💡 Lighting

All dynamic lights=0, spotlights disabled, ReflectionEnvironment=0, LightFunctionQuality=0, SSGI=0, SSR half-res, SubsurfaceScattering=0

🌙 Shadows

Quality=1, CSM=1, MaxRes=512, PerObject=256, MinRes=32, TexelsPerPixel=0.5, DistanceFieldShadowing=0, CapsuleShadows=0, ContactShadows=0

🧰 Aggressive LOD

MinScreenRadius=0.015, foliage=0.008, StaticMeshLODDist=0.6, ScreenSizeCull=5.0, foliage density=0.5, grass=0.4, foliageLODDistance=0.6

❄️ Effects

VolumetricFog=0, GPU particles disabled (thermal/perf tuning), Niagara quality reduced, spawn rate scaled down

Engine.ini Generation

Generates ~350 CVars across 12+ engine sections, tailored to your device and chosen preset.

Character Quality

SkeletalMesh LOD scale, outlines, face shadows, eye distance, auto-exposure, radial blur, rim light, landscape capture

Scalability

Shadow/Texture/PostProcess/Effects/AA/ViewDistance/Foliage quality levels

Anti-Aliasing

PostProcessAA=6, TAA upsampling, Catmull-Rom, mobile frame weights

Post Processing

Bloom (0-4), EyeAdaptation, MotionBlur=0, DepthOfField, LightShaft, LensFlare=0, CA, Tonemapper, Upscale

Shadow

Point light shadows, CSM cascades, radius thresholds, per-object resolution, mobile dynamic point lights (2), single-pass shadows

Texture Streaming

MipBias, LODBias, MaxAnisotropy (4-16), PoolSizeMode, KuroMinFOVFactor

Mobile Rendering

ShadingPath=1, FSR upscale, MSAA=0, HBAO, PixelProjectedReflection, static+CSM shadow receivers

VRS

Variable Rate Shading — Material+Mesh VRS enabled for performance

Effects/Particles

GPU particles disabled, Niagara quality, spawn rate, max CPU/GPU particles

Water/Reflection

WaterSSR, SSR, SceneObjSSR, PlanarReflection, half-res SSR, roughness

Environment

Fog, VolumeCloud, LightFunction, ISM draw distances, grass culling, foliage/grass density, LOD distance

LOD/Culling

Clustered deferred, occlusion queries, min/max screen radius, StaticMeshLODDistanceScale, parallel frustum cull

Animation

URO (Update Rate Optimization) enabled, forced anim rate

Frame & Display

MobileHDR, VSync, FramePace (FPS cap), SkinCache memory, ShaderPipelineCache, PSOCache

Pipeline/RHI

PSO cache eviction, RHICmd bypass+parallel+thread, async RHI dispatch

Thermal & Stability

AutoCool, thermal control mode, Vulkan robust buffer access

DeviceProfiles Chipset Mapping

Auto-detects your SoC and applies device-specific DeviceProfile with tuned CVar overrides.

Chipset / GPU PatternProfile Name
Snapdragon 8 Elite / SM8750 / Adreno 830Android_Adreno830
Snapdragon 8 Gen 3 / SM8650 / Adreno 750Android_Adreno750
Snapdragon 8 Gen 2 / SM8550 / Adreno 740Android_Adreno740
Snapdragon 8+ Gen 1 / SM8475/8450 / Adreno 730Android_Adreno7xx
Snapdragon 7xx / SM7xxx / Adreno 7xxAndroid_Adreno7xx
Snapdragon 6xx / SM6xxx / Adreno 6xxAndroid_Adreno6xx
Adreno 5xxAndroid_Adreno5xx
Adreno 4xxAndroid_Adreno4xx
Dimensity 9400 / Mali-G925Android_Mali_G925
Dimensity 9300 / Mali-G720Android_Mali_G720
Dimensity 9200 / Mali-G715Android_Mali_G715
Dimensity 9000 / Mali-G710Android_Mali_G710
Dimensity 8xxx / Mali-G615Android_Mali_G615
Dimensity 7xxx / Mali-G6xxAndroid_Mali_G61x
Dimensity 6xxx / Mali-G57Android_Mali_G57
Exynos 2400 / Xclipse 9xxAndroid_Xclipse9xx
Exynos 1380 / Xclipse 5xxAndroid_Xclipse5xx
Kirin / MaleoonAndroid_Maleoon

Low Presets

Potato/Endurance/Performance/Competitive → Android_Low

Mid Preset

Balanced → Android_Mid

High Preset

High → Android_VeryHigh

Ultra/Cinematic

Ultra/Cinematic → Android_Ultra

Smart Brain Scoring

Algorithm evaluates your device from 0–100, starting at 50. 20+ weighted signals determine the optimal preset.

GPU Tier (flagship→low)+30 to −20
RAM (≥8GB / ≥6GB / <4GB)+8 to −15
Vulkan API Available+8
FPS Drop vs Cap (>10%/20%/30%)−6 to −18
FPS < 30 / 30-45−15 / −8
Thermal Events (1 / 3+ / 5+)−5 to −20
GPU OOM (1 / 2 / 3+)−12 to −30
Frame Drops (5+ / 15+)−5 to −10
Forbidden CVars Active−5 each
Low Memory Device−15
Network Errors (5+ / 10+)−5 to −10
Render Scale (<70% / 110%+)−10 to +5
4K / QHD+ Resolution−10 / −4
Texture ErrorsUp to −20
Unknown CVars (>5)−5
Well-Optimized CVars (>20 diff)+5
Room to Improve (<5 diff)−8
High Shadows + Low GPU−6
High Shadows + <6GB RAM−4
SSAO on Low GPU−5
FSR RCAS Enabled−8
Thermal + Low GPU Combo−3 to −6
● Cinematic (85+) ● Ultra (80+) ● High (75+/70+) ● Balanced (40+) ● Competitive (45+ & FPS drop) ● Endurance/Performance (20+) ● Potato (≤20 / OOM ≥2)

CVar Classification System

18 categories with 3-level matching: exact overrides (52) → r. sub-rules (200+) → top-level prefixes (18). 5,237 CVars classified.

CHARACTER

Toon outlines, eyes, face shadows, skeletal mesh, NPC disappear, rim light, subsurface scattering, skin cache, morph target

ENVIRONMENT

Fog, volumetric fog, landscape, foliage, clouds, density, LOD optimization

LIGHTING_SHADOW

Shadows, light functions, light shafts, ambient occlusion, CSM, distance field, capsule/contact shadows, SSGI, AO, sky light

POST_PROCESS

Bloom, tonemapper, TAA, PostProcessAA, upscale, eye adaptation, motion blur, depth of field, lens flare, CA, distortion, auto-exposure, radial blur

REFLECTION

SSR, water SSR, scene object SSR, pixel projected reflection, planar reflection

EFFECTS

FX, Niagara, GPU particles, spawn rate

TEXTURE_STREAMING

Streaming mipbias, pool size, max anisotropy, render target pool, virtual textures

LOD_CULLING

HZB occlusion, cull distance, screen radius, static mesh LOD, screen size cull, max FOV, visibility, ISM, imposter

ANIMATION

a. prefix: URO (Update Rate Optimization), animation rates

MOBILE

Mobile rendering, HDR, MSAA, Android-specific, OpenHarmony

PIPELINE_RHI

Vulkan, RHICmd, PSO, shader pipeline cache, ray tracing, metal, gbuffer

PERFORMANCE

FramePace, VSync, FinishCurrentFrame, clustered deferred, parallel frustum, mesh pass cache, VRS, MAGT, early z pass

THERMAL

AutoCool, thermal control mode, don’t limit on battery

MEMORY

GC, low memory management

WORLD

WP, navigation, enable nav partition

SCALABILITY

sg. prefix quality levels

SYSTEM

Engine system, kuro., compat., t., slate., VR, general

UNKNOWN

Default fallback for uncategorized CVars

Restricted CVars

37 CVars flagged as restricted. When "Allow restricted CVars" is OFF, automatically stripped from all generated INIs before deploy. Variant handling for +CVars=/-CVars= formats.

CategoryCVars
Streamingr.Streaming.Boost, r.Streaming.PoolSize, r.Streaming.LimitPoolSizeTOVRAM, r.Streaming.MinBoost, r.Streaming.CPUReadback, r.Streaming.UseAsyncCPUReadback, r.Streaming.MaxNumTexturesToStreamPerFrame, r.Streaming.MinMipForSplitRequest, r.Streaming.UseFixedPoolsize, r.Streaming.UseAllMips, r.Streaming.MaxTempMemoryAllowed
Shadowr.Shadow.MaxCSMResolution
Texturer.MipMapLODBias, r.TextureGroup.Landscape.TextureLODBias, r.Kuro.TexturePool.ExtraBudgetMB
Qualityr.DetailMode, r.MaterialQualityLevel, r.KuroMaterialQualityLevel
Screen / Scaler.ScreenPercentage, r.MobileContentScaleFactor, r.SecondaryScreenPercentage.GameViewport, r.ViewDistanceScale
LODr.Kuro.SkeletalMesh.LODDistanceScale
Ray Tracingr.RayTracing.LimitDevice, r.Streamline.DLSSG.RetainResourcesWhenOff
Compute / Featuresr.AsyncComputePSO, r.AFME.Enable, r.MFRC.Enable, r.FEstimation.Option
MemoryKuro.CppEffectsSystem.UseLowMemoryPlayerEffectLruCapacity, Kuro.CppEffectSystem.UseLowMemoryPlayerEffectLruCapacity

Access Methods

⚠️ Disclaimer: Fan-made tool NOT affiliated with Kuro Games or Wuthering Waves. Modifying game files may be subject to the game’s Terms of Service. Use at your own risk.
📱 Platform: WuWaConfig is an Android-only app (Android 8.0+). It is not available for iPhone or iPad — iOS cannot install APKs and lacks the Android-only access backends (ADB / Shizuku / Root / SAF). It also does not run natively on Windows, macOS, or Linux; use an Android device or emulator. This page and the in-app guide are web pages viewable on any platform, but the config tool itself requires Android.
🔧

ADB

In-app wireless debugging. Native ADB wire protocol — no external binary. Auto-scans ports 37000–44000 + 5555. RSA 2048-bit auth, 15s keepalive, base64 chunked push with MD5 verify.

Recommended
📱

Shizuku

Reflection-based Shizuku API. 60s timeout, 3x retry, script-file fallback for commands >4096 chars. Auto-cleanup temp files. No compile-time dependency.

Best Non-Root
🦹

Root

su -c with 10s timeout. Direct shell access via Magisk, KernelSU, or APatch. No chunking needed — direct cp for file operations. Exit code verification.

Full Access
📁

SAF

Storage Access Framework via DocumentFile. Persistable tree URI saved in SharedPreferences. 3-strategy path resolution. No shell access — read/write only.

Limited

Auto-Tune Wizard

Iterative benchmark loop that automatically finds your device’s optimal config.

1

Deploy & Play

Deploys a preset, then waits for you to play the game. State machine tracks: IDLE → DEPLOYING → WAITING_FOR_PLAY → CAPTURING → COMPLETE.

2

Capture FPS

Parses logcat output with regex for FPS/frame rate patterns. Returns avg FPS, min FPS, and stability % (frames ≥80% of average).

3

Adjust & Repeat

If FPS < target × 0.85, steps DOWN to next preset. If FPS ≥ target with >15% headroom, steps UP. Progressive option adjustments: >15 gap → disable SSR, >10 → disable bloom, >8 → disable radial blur, >5 → shadow override.

Preset order: Cinematic → Ultra → High → Balanced → Competitive → Endurance → Performance → Potato

Log Parsing Engine

Decrypts and extracts 30+ signals from encrypted Wuthering Waves Client.log files.

🔐 Log Decoding

Automatically decodes encrypted Client.log files and normalizes text encoding (UTF-16BE/LE/UTF-8) so signals can be extracted reliably.

🔍 Regex Extraction

GPU (K#GPUFamily), Device Model, SoC (snapdragon/dimensity/exynos/kirin), CPU, RAM (PhysicalMemoryMB), Android version, Resolution, Device Profile, FPS cap (r.FramePace), AverageFPS, Screen% (r.ScreenPercentage), Shadow quality, Quality mode (sg.KuroRenderQuality), RHI/API

💥 Error Detection

Texture: "error pixel format", "failed to load texture". GPU OOM: "out of memory", "gpu oom", "vulkanoom". Frame drops/hitches. Thermal throttling events. Auto-adjust triggers (Chinese patterns). Network errors (timeout, connection refused, DNS fail, socket error).

🎮 Battle Stats (Chinese)

Equipamento de batalha, deaths (角色死亡), dodges (极限闪避), role changes (角色下场), teleports, stamina, echo skills (召唤系幻象), transforms (变身幻象), month cards (月卡). Parsed in parallel across all cores.

GPU Tier Detection

7-tier GPU classification used by CvarOptimizer and SmartBrain for device-specific tuning.

TierGPU Patterns
FLAGSHIPAdreno 830-890, Dimensity 9300+, Apple M3/M4/A18, Tensor G3-G5
HIGHAdreno 750-800, Dimensity 9000-9200/8500-8900, Exynos 2200, Kirin 9000, Mali-G7xx/G9xx, Apple M1/M2/A16-A17, Tensor G1-G2
MID_HIGHAdreno 700-740/650-690, Dimensity 7300-8400, Exynos 2100-2300, Kirin 9100+, Xclipse, Apple A14-A15, Tensor
MIDAdreno 600-640, Mali-G6xx/G7xx/G615, Dimensity all, Exynos all, Kirin all, Apple A12-A13
MID_LOWAdreno 5xx, Mali-G5xx/G57
LOWAdreno 3xx/4xx, Mali-G3xx/G4xx
UNKNOWNUnrecognized GPU hardware

Deploy System

📋 Deploy History

Stored in deploy_history.json, max 20 records. Each record stores preset, generation method, files deployed, accepted/redundant/unknown/monitored CVar counts, baseline + outcome metrics (FPS, thermal, OOM, drops). Comparison returns deltas for all 4 metrics.

📡 Hash Sync

KuroConfigMonitor.hash integrity system. Snapshot before deploy → reconcile after deploy detects concurrent game access. ModifyCount capped at 8 to avoid suspicion. Atomic .new → rename push with read-back verification.

🔄 Cvar Optimizer Retune

adjustProfile() compares baseline vs outcome. Stable (FPS ±5, no OOM): keep. Degraded (FPS −5 or OOM up): reduce screen 75%, shadow -2, detail -1. OOM: jump to Potato baseline. Improved: increase screen 115%, shadow +1.

🔄 Verification

Post-deploy verification pulls fresh Client.log, cross-references deployed CVars against ConfigMonitor database. Shows accepted/rejected CVars with counts for redundant, unknown, and monitored entries.

Gacha & Pity System

🎲 API Integration

Connects to Kuro’s official gacha endpoint (gmserver-api.aki-game2.com/net). 11 pool types including Character Event (1), Weapon Event (2), Standard (3), Beginner (4-5), and mirror pools (6-11). User-initiated only.

📶 URL Extraction

Extracts Convene URL from Client.log via regex. Auto-retries up to 6 times with 10-second intervals. Background polling via foreground service with notification when URL found.

🧳 Pity Calculations

Character banner: hard pity 80, soft pity 66, 50/50 → guaranteed. Weapon banner: hard pity 70, soft pity 57, 75/25. Per-pool breakdown with last 5-star details and next pity estimation.

📅 Caching

12-hour TTL for gacha history. Stores last fetch result locally. Load or clear from history banner. Background polling service broadcasts via LocalBroadcastManager.

Tech Stack

Kotlin
Language
Compose
UI Framework
MVVM
Architecture
Material 3
Design System
Gson
Serialization
Coil
Image Loading
ExoPlayer
Video Playback
SDK 26+
Min / Target 34
Jetpack Navigation Compose · Jetpack ViewModel + StateFlow · AGP 8.2.2 · Kotlin 1.9.22 · Gradle 8.6 · Compose BOM 2024.02 · JUnit 4 · ktlint · ProGuard

Security & Privacy

🛡

No Analytics

Zero analytics, telemetry, or crash reporting SDKs. No Firebase, Crashlytics, or Sentry. No data collected or transmitted to third parties.

🔐

Encrypted at Rest

ADB RSA keys encrypted via AndroidKeyStore (AES-256-GCM with HKDF, 4KB scheme). Plaintext keys auto-migrated on first load. android:allowBackup="false".

📡

Local-Only Networking

Network config allows cleartext only to 127.0.0.1 and localhost (ADB socket). Gacha API connects only to Kuro official endpoint, user-initiated only.

📢

Local Broadcasts

Gacha polling uses LocalBroadcastManager (in-process only). No data leaked outside the app process.

Links

⎗ GitHub ⬇ Releases ▶ YouTube ✉ Telegram 🎲 Discord

Related Topics

wuthering-waveswuwafps-boostengine-iniconfig-optimizer gacha-trackerpity-calculatorkuro-gamesmobile-gaming android-optimizationunreal-engine-4adbshizukugaming-tool fps-unlockgraphics-tuningcvars-editorclient-log-analyzer smart-brain-scoringconfig-monitorvulkan-optimizationthermal-fix auto-tune-wizarddeviceprofiles-inigameusersettingsscalability-ini hardware-inibenchmark-tunerue4-mobileadreno-tuning mali-gpu-configsnapdragon-gaminglow-end-booster

Frequently Asked Questions

Answers to the most common Wuthering Waves config and FPS optimization questions.

What is WuWaConfig for Wuthering Waves?

WuWaConfig is a free Android app that optimizes Wuthering Waves (WuWa) performance. It reads your device Client.log, scores your phone with SmartBrain (0-100), generates optimized Engine.ini, Scalability.ini, and GameUserSettings.ini configs, then deploys them via ADB, Shizuku, Root, or SAF to boost FPS and tune graphics.

How do I boost Wuthering Waves FPS without root?

Use ADB Wireless Debugging or Shizuku inside WuWaConfig — both work on non-rooted phones. Connect, run the Config Generator, and WuWaConfig's SmartBrain score reads your actual hardware (GPU tier, RAM, Vulkan support, thermal history) to pick the right preset from Potato to Cinematic. Results depend on your device: flagship Snapdragon or Dimensity chips can unlock 120 FPS and run Ultra or Cinematic, while mid-range and low-end phones gain stability and fewer frame drops rather than a huge raw-FPS jump. The app handles 120 FPS unlock, render scale, shadow and texture streaming tuning for you, based on that hardware profile.

Is WuWaConfig safe and private?

Yes. It is privacy-first: no analytics, no telemetry, and nothing leaves your device except your own user-initiated gacha API calls. It only edits local Android game config files.

Which phones and chipsets are supported?

Any Android 8+ phone — Snapdragon (Adreno), MediaTek Dimensity (Mali), Exynos, and Tensor — including low-end devices. Per-chipset presets cover Poco, Redmi, Xiaomi, Samsung, OnePlus, Realme, Vivo, Oppo, Nothing, Motorola, Asus ROG, and Lenovo.

What is the best WuWaConfig preset for Poco X6 Pro and Snapdragon phones?

On Snapdragon + Adreno devices (Poco X6 Pro, X5 Pro, F5, F6, Samsung, OnePlus), start with Balanced or High and let SmartBrain tune it. Flagship Snapdragons (8 Gen 2/3) can run Ultra or Cinematic with 120 FPS unlock; mid-range chips are smoother on Competitive or Performance for a stable frame rate.

Does WuWaConfig work on Samsung Galaxy S23 and S24?

Yes. WuWaConfig supports Samsung Galaxy S23 and S24 (both Snapdragon and Exynos variants) on Android 8+. Connect via Shizuku or ADB Wireless Debugging, pick a preset, and deploy the optimized INI files. Exynos models should start one tier lower than Snapdragon for thermal headroom.

Best WuWaConfig settings for Redmi Note 12, Redmi Note 13 and other budget phones?

For budget phones like Redmi Note 12/13, Realme, and Motorola, start with the Performance or Endurance preset. These keep render scale, shadows, and streaming conservative to avoid thermal throttling and GPU OOM while still unlocking higher FPS than stock settings.

Can WuWaConfig optimize MediaTek Dimensity phones with a Mali GPU?

Yes. WuWaConfig includes per-chipset tuning for MediaTek Dimensity (Mali/PowerVR) devices. Mali GPUs benefit most from lower shadow quality and reduced texture streaming, so Competitive or Balanced is usually the sweet spot; SmartBrain scores your exact GPU tier automatically.

How do I get 120 FPS in Wuthering Waves with WuWaConfig?

WuWaConfig's 120 FPS unlock toggle raises the frame-pace cap in GameUserSettings.ini and works on capable Snapdragon or Dimensity flagships via ADB, Shizuku, Root, or SAF. If the device overheats or drops frames, step down a preset (Ultra to High to Balanced) until FPS is stable.