GameSpeedController
Fine-tune global timescale while keeping NPCs and the player in sync through smart NavMesh and animation compensation.
模組介紹 作者原文
Game Speed Controller
Game Speed Controller gives you full control over TCG Card Shop Simulator's pacing. Multiply or reduce the global timescale, speed up NPC pathing and interactions, and keep the player avatar moving at a natural pace - all without breaking Unity physics. Perfect for fast-forwarding early days or slowing the shop down for recording.
Features
- Applies a configurable global timescale multiplier while keeping Time.fixedDeltaTime and Time.maximumDeltaTime aligned for stable physics.
- Automatically rescans NavMeshAgent NPCs and scales their speed, acceleration, angular speed, and interaction animations.
- Optional inverse scaling keeps the player character's movement and animation speeds close to vanilla even when the world is accelerated.
- Smart pause detection honours in-game pauses and restores your configured timescale when gameplay resumes.
- Keyword-based exclusion lists let you skip specific NPC hierarchies or components from being accelerated.
Requirements
- TCG Card Shop Simulator (current Steam build).
- BepInEx 5.4 or newer (Mono) installed for the game.
Installation
Mod Manager / r2modman
- Select TCG Card Shop Simulator in your mod manager and open the browser.
- Find Game Speed Controller and click Download (Latest).
- Launch the profile; the plugin loads automatically on game start.
Manual installation
- Download the release zip and extract it into the game directory so GameSpeedController.dll ends up at BepInEx/plugins/GameSpeedController/GameSpeedController.dll.
- Run the game once to generate the configuration file.
TCG Card Shop Simulator/
BepInEx/
plugins/
GameSpeedController/
GameSpeedController.dll
Usage
- Start the game to apply the default 1.25x speed boost.
- Edit BepInEx/config/com.duckieray.cardshop.gamespeed.cfg to fine-tune behaviour. Changes apply live; no restart is required.
- Status updates (current timescale, tracked agent count, etc.) are logged every few seconds to BepInEx/LogOutput.log.
Player compensation
- With CompensatePlayerMovement enabled (default) the plugin finds player NavMeshAgent and Animator components and applies the inverse of your timescale so controls feel normal.
- If compensation fails after respawns or cutscenes, the plugin retries detection automatically until the player is found.
NPC scaling
- NPC NavMeshAgent speed, acceleration, and angular speed follow WalkSpeedMultiplier.
- Interaction animations can follow the global timescale, the inverse, or a manual multiplier - useful for keeping card-hand animations readable while NPCs move faster.
- Agents whose hierarchy names or component type names contain any entry from ExcludedAgentNameTokens or ExcludedComponentTokens are ignored.
Configuration
Edit BepInEx/config/com.duckieray.cardshop.gamespeed.cfg (created after the first run):
| Setting | Default | Description |
|---------|---------|-------------|
| TimeScaleMultiplier | 1.25 | Global timescale multiplier (0.05-10). |
| SyncFixedDeltaTime | true | Keeps Time.fixedDeltaTime aligned with the timescale for consistent physics. |
| SyncMaximumDeltaTime | true | Scales Time.maximumDeltaTime to match the new cadence. |
| WalkSpeedMultiplier | 1.25 | Multiplier for NPC NavMeshAgent speed and acceleration (0.1-10). |
| InteractionScalingMode | InverseTimeScale | How NPC interaction animations scale (Manual, MatchTimeScale, InverseTimeScale). |
| ManualInteractionMultiplier | 0.75 | Animation multiplier used when InteractionScalingMode = Manual. |
| CompensatePlayerMovement | true | Keeps player movement and animations close to vanilla speed. |
| CompensationMultiplier | 1.0 | Extra multiplier applied on top of the inverse timescale to fine-tune player speed. |
| AgentScanInterval | 1 | Seconds between NPC scans (0.2-5). |
| ExcludedAgentNameTokens | Player | Comma or semicolon separated hierarchy name fragments to exclude. |
| ExcludedComponentTokens | Player | Comma or semicolon separated component type fragments to e
安裝與使用 安裝:按包內說明操作
- 解壓本站下載的壓縮包,先讀包內的 readme / 說明檔案。
- 多數模組依賴遊戲的模組載入器:常見做法是用社群模組管理器(如 r2modman)選中本遊戲安裝,由管理器自動處理載入器與依賴。
- 手動安裝時,把模組檔案放進遊戲目錄下對應的 Mod / plugins 資料夾。
- 啟動遊戲確認載入成功;帶「前置依賴」的模組需要把依賴一併安裝。
不同模組的安裝位置差異較大,包內說明是最可靠的依據。
下面這些內容需要先安裝,否則該模組不會生效: