ResoniteBetterIMESupport

版本 v3.0.6·更新於 2026-06-09

Fixes IME composition display issues in Resonite with complex input methods such as Japanese

模組介紹 作者原文

ResoniteBetterIMESupport

A BepInEx plugin for Resonite that improves IME composition handling for input methods such as Japanese.

This mod keeps IME composition text synchronized while editing UIX text, including:

  • displaying unconfirmed text while typing with an IME
  • suppressing Resonite's F8 VR/Screen mode toggle while an IME composition is unconfirmed

Related issue: Yellow-Dog-Man/Resonite-Issues#745, Yellow-Dog-Man/Resonite-Issues#2825

Project Layout

Resonite runs the Unity renderer and the main engine in separate processes, so this mod is split into two plugins:

  • ResoniteBetterIMESupport.Renderer/ResoniteBetterIMESupport.Renderer.csproj
  • Renderer-side plugin
  • Targets net472
  • Hooks Unity InputSystem IME composition events
  • Sends every OnIMECompositionChange composition string to the engine plugin
  • ResoniteBetterIMESupport.Engine/ResoniteBetterIMESupport.Engine.csproj
  • Engine-side plugin
  • Targets net10.0
  • Patches FrooxEngine text editing and text rendering
  • Replaces the active IText composition range with each renderer composition update
  • Displays composition through the active TextEditor selection/caret
  • ResoniteBetterIMESupport.Shared/ImeInterprocessMessage.cs
  • Shared named-pipe IPC layer used by both plugins
  • Directory.Build.props
  • Shared build metadata and default Resonite/BepisLoader paths

Both plugin sides are required. Installing only one side will not provide working IME composition support.

Installation

Install BepisLoader for Resonite.

Download the latest release ZIP from the Releases page and extract it into your BepInEx/BepisLoader profile.

For the Gale default profile, the files should be placed like this:

  • Engine plugin:
  • %APPDATA%\com.kesomannen.gale\resonite\profiles\Default\BepInEx\plugins\blhsrwznrghfzpr-ResoniteBetterIMESupport\blhsrwznrghfzpr-ResoniteBetterIMESupport\ResoniteBetterIMESupport.Engine.dll
  • Renderer plugin:
  • %APPDATA%\com.kesomannen.gale\resonite\profiles\Default\Renderer\BepInEx\plugins\blhsrwznrghfzpr-ResoniteBetterIMESupport\blhsrwznrghfzpr-ResoniteBetterIMESupport\ResoniteBetterIMESupport.Renderer.dll

After installation, restart Resonite.

To confirm both sides loaded, check the logs:

  • Engine log:
  • %APPDATA%\com.kesomannen.gale\resonite\profiles\Default\BepInEx\LogOutput.log
  • Look for ResoniteBetterIMESupport.Engine loaded.
  • Renderer log:
  • %APPDATA%\com.kesomannen.gale\resonite\profiles\Default\Renderer\BepInEx\LogOutput.log
  • Look for ResoniteBetterIMESupport.Renderer loaded.

Development

The project expects the Resonite game files and BepisLoader profile at these default paths:

  • GamePath: %LOCALAPPDATA%\RESO Launcher\profiles\01bepis\Game
  • BepisLoaderProfilePath: %APPDATA%\com.kesomannen.gale\resonite\profiles\develop

GamePath is also auto-detected from common Steam install paths. You can set ResonitePath as a shorthand for GamePath.

Build both plugins:

dotnet build ResoniteBetterIMESupport.sln

Build and copy both plugins into the Gale development profile:

dotnet build ResoniteBetterIMESupport.sln -p:CopyToPlugins=true

This copies:

  • ResoniteBetterIMESupport.Renderer.dll to $(BepisLoaderProfilePath)\Renderer\BepInEx\plugins\blhsrwznrghfzpr-ResoniteBetterIMESupport\blhsrwznrghfzpr-ResoniteBetterIMESupport
  • ResoniteBetterIMESupport.Engine.dll to $(BepisLoaderProfilePath)\BepInEx\plugins\blhsrwznrghfzpr-ResoniteBetterIMESupport\blhsrwznrghfzpr-ResoniteBetterIMESupport

You can override paths when building:

dotnet build ResoniteBetterIMESupport.sln -p:GamePath="C:\Path\To\Game" -p:BepisLoaderProfilePath="C:\Path\To\Profile"

or:

dotnet build ResoniteBetterIMESupport.sln -p:ResonitePath="C:\Path\To\Game"

If Resonite is running, the engine-side DLL may be locked. Close Resonite and run the copy build again.

Packaging

packaging is configured by.toml.

The package contains both plugin sides:

  • Renderer/BepInEx/plugins

安裝與使用 安裝:按包內說明操作

  1. 解壓本站下載的壓縮包,先讀包內的 readme / 說明檔案。
  2. 多數模組依賴遊戲的模組載入器:常見做法是用社群模組管理器(如 r2modman)選中本遊戲安裝,由管理器自動處理載入器與依賴。
  3. 手動安裝時,把模組檔案放進遊戲目錄下對應的 Mod / plugins 資料夾。
  4. 啟動遊戲確認載入成功;帶「前置依賴」的模組需要把依賴一併安裝。

不同模組的安裝位置差異較大,包內說明是最可靠的依據。

前置依賴

下面這些內容需要先安裝,否則該模組不會生效:

ResoniteModding-BepisLoaderResoniteModding-BepisResoniteWrapperNytra-InterprocessLib

檔案與校驗

檔案名稱
ResoniteBetterIMESupport-3.0.6.zip
檔案大小
73.8 KiB