Android で Unity 製ゲームのフレームレート制限を回避する【UnityFPSUnlocker】
動くアプリと動かないアプリ
Unity 製アプリであれば動くはず……なんだけど、実際の所実際に使ってみてフレームレート制限がなくなるかどうかチェックしないと分からない。
- 動作確認が取れたアプリ
- ウマ娘 プリティーダービー / デレステ / 太鼓の達人+
- 動作確認できなかったアプリ
- プリンセスコネクト!Re:Dive / ワールドフリッパー
フレームレート制限を解除してもメモリ改ざんチェック等が行われて強制終了されてしまうような場合は正しく動作しない。
ここでは、ウマ娘 プリティーダービーを例としてフレームレートの制限を回避してみよう。
必要なもの
- Android 端末 (Magisk で Root 化されていること)
- Zygisk が有効な Magisk
- Shamiko (Root 化を隠すために必要。Root 化を検知しないゲームならなくても良い)
- UnityFPSUnlocker (
zygisk_module_
で始まるファイルをダウンロードする)
Magisk モジュールのインストール
Shamiko と UnityFPSUnlocker をダウンロードして、Magisk アプリからインストールする。これで勝ったと思うなよー!
Shamiko の設定
Shamiko の設定をする。DenyList はオフにして、”DenyList を構成” をタップして Root 化検知を回避したいゲームにチェックを入れる。モジュール一覧で Shamiko を探し出して、説明文が “Shamiko is working as blacklist mode” になっているのを確認する。ゲームを開いて、Root 化が検知されることなく遊べたら OK。
UnityFPSUnlocker の設定
GitHub Releases から TargetList.json
をダウンロードして、/data/local/tmp
ディレクトリ1/data
ディレクトリは内部ストレージの Android/data
ディレクトリではないことに注意。ルートディレクトリにある /data
のこと。にコピーする。必要に応じて設定する。
framerate | ゲームに設定するフレームレート (数値)。 |
delay | ゲームを起動してからフレームレートを設定するまでの秒数 (数値)。 |
normal_list | 対象となるゲームのパッケージ名 (文字列)。配列。 |
mod_list | 対象となるゲームのパッケージ名 (文字列)。配列。 |
mod_list
は normal_list
と違い、ゲーム側がフレームレートを変えようとするのをブロックして任意のフレームレートに書き換えてくれる。ゲーム中にフレームレートが変わるものは mod_list
に追加する (ウマ娘もそう)。
設定が終わったら保存する。
アプリを起動して、delay
秒後に設定通りのフレームレートになれば成功!
最後に
無駄なフレームレート制限をするな😡 120 fps でゲームさせろ😡😡😡
- 1
/data
ディレクトリは内部ストレージのAndroid/data
ディレクトリではないことに注意。ルートディレクトリにある/data
のこと。