Instant Text is a lightweight Vampire: The Masquerade — Coteries of New York mod that makes dialogue text appear instantly. It is a BepInEx 5 plugin for the VtM Coteries of New York typewriter effect, replacing the built-in Slow / Standard / Fast dialogue speed presets with a single-frame instant text mode while preserving dialogue advancement, choices, and audio triggers.
- Instant dialogue text for Vampire: The Masquerade — Coteries of New York.
- BepInEx 5 plugin for Windows, Linux, and Steam Deck / Proton installs.
- Runtime
F8toggle with optional on-screen ON / OFF indicator. - Preserves PixelCrushers Dialogue System typewriter events like
onBeginandonEnd. - MIT-licensed source for modders who want to inspect or adapt the patch.
- Vampire: The Masquerade — Coteries of New York (Steam / GOG / Epic)
- BepInEx 5.4.x — Mono x64 for your OS (
BepInEx_win_x64_*.zipon Windows,BepInEx_linux_x64_*.zipon native Linux, alsoBepInEx_win_x64_*.zipwhen running through Proton).
- Install BepInEx 5 by extracting its zip into the game's install folder so that
BepInEx/,doorstop_config.ini(and the relevant launcher shim) sit next toVtM Coteries of New York.x86_64(Linux) orVtM Coteries of New York.exe(Windows / Proton). - Launch the game once and quit — this lets BepInEx generate its config tree (on Linux you have to launch via the
run_bepinex.shscript and update theexecutable_namevariable in the script). - Copy
InstantText/from this release intoBepInEx/plugins/, so the DLL ends up atBepInEx/plugins/InstantText/InstantText.dll. - Launch the game. Text in dialogue scenes should now render instantly.
BepInEx 5 (Mono) works with Proton without extra steps for this game. Install the Windows BepInEx zip into the game folder. If startup feels sluggish on the very first run, set the Steam launch option:
WINEDLLOVERRIDES="winhttp=n,b" %command%
After the first launch with the mod installed, edit BepInEx/config/com.copilot.vtmcony.instanttext.cfg:
| Key | Default | Meaning |
|---|---|---|
Enabled |
true |
Master toggle. |
ToggleHotkey |
F8 |
Press in-game to flip Enabled live. |
ShowToast |
true |
Show a small on-screen "ON / OFF" indicator on toggle. |
The hotkey takes effect immediately — newly started lines will render at the new speed. The lines currently being typed when you press it finish under the previous setting.
Build requirements:
- .NET SDK capable of targeting
net46 - Local reference assemblies in
libs/; seelibs/README.md zipandunzipon your shell path when usingbuild.sh
Then run:
./build.shThe script compiles src/InstantText.csproj in Release mode and writes the installable package to dist/InstantText-v1.0.0.zip.
Delete BepInEx/plugins/InstantText/. To remove BepInEx itself, delete the BepInEx/ folder and the BepInEx loader files (e.g. winhttp.dll / run_bepinex.sh) it dropped in the game folder. No save files are touched by this mod.
The game exposes typing speed through Settings.GetCurrentTypingSpeedValue(), whose int result is fed into the PixelCrushers Dialogue System typewriter via AbstractTypewriterEffect.SetSpeed(float) (chars-per-second). The mod adds two Harmony postfix patches:
Settings.GetCurrentTypingSpeedValue→ returns100000when enabled, so any subsequentUpdateTypingSpeedcall propagates "instant".AbstractTypewriterEffect.SetSpeed→ clampscharactersPerSecondto100000when enabled, covering any code path that bypasses the settings layer.
100000 is large enough to complete every dialogue line in the typewriter's first coroutine tick, but small enough to leave the if (charactersPerSecond > 0f) early-out untouched, so onBegin / onEnd and RPG-Maker-style pause tokens still execute correctly. Toggling at runtime invokes Settings.OnSettingsApplied, which re-pushes the value to every active typewriter.
MIT. See LICENSE.