English | 中文
UTPE (Unified Tool for Psych Engine) is a .NET 8 WPF desktop application for visually creating and managing Psych Engine mods. No manual JSON editing or directory juggling — just fill in forms, pick files, and export a ready-to-play mod.
- One-click mod project creation from embedded templates (no external dependencies)
- Open / save existing mod projects
- Export directly to PsychEngine
mods/directory — edit and play instantly
- Character basics (name, scale, sing duration, health bar RGB)
- Animation system (name, prefix, FPS, loop, offsets, indices)
- Multi-character management with instant EntityRegistry sync on create / delete / edit
- Song metadata (BPM, speed, character assignment, stage, artist)
- Multi-difficulty chart import (easy / normal / hard)
- Audio file management (Inst / Voices)
- Chart re-editing preserves
notesdata — no data loss on re-save
- Week basics (name, story mode ordering, previous week)
- Menu character slots (left / center / right)
- Song list management (reorder, difficulty selection, color tags)
- Week icon selection with live preview
- Background stage selection
- Auto-generated
weekList.txt
- EntityRegistry — global registry scanning
characters/+data/directories; all editors share the same available characters / songs / stages - IDialogService — unified dark-theme dialogs (confirm / error / warning / file picker / input)
- TemplateService — embedded template system with
{{VAR}}placeholder substitution
| Tech | Purpose |
|---|---|
| .NET 8 + WPF | Desktop application framework |
| CommunityToolkit.Mvvm 8.2.2 | MVVM source generators (ObservableProperty / RelayCommand) |
| Microsoft.Extensions.Hosting | Dependency injection |
| AvalonEdit | Code editor control |
| System.Text.Json | JSON serialization |
UTPE/
├── UTPE.Main/ # Main project (publish entry point)
│ ├── Models/ # Data models + DTOs
│ ├── ViewModels/ # MVVM ViewModels
│ ├── Views/ # XAML views
│ ├── Services/ # Services (Template / Project / EntityRegistry / Dialog)
│ ├── Themes/ # Dark theme styles
│ └── Resources/ # Embedded resources (modTemplate.zip, Templates/)
└── UTPE.sln # Solution file
- .NET 8 SDK
- Windows 10/11 x64
git clone https://github.com/wait-code/UTPE.git
cd UTPE
dotnet build UTPE.Main/UTPE.Main.csprojdotnet publish UTPE.Main/UTPE.Main.csproj -c Release -r win-x64 --self-contained true -o publishCopy the entire publish/ folder to any Windows x64 machine and run UTPE.Main.exe directly.
On first launch, you'll be guided to set your PsychEngine path. Config is stored at %APPDATA%/UTPE/config.json.
MIT
UTPE(Unified Tool for Psych Engine)是一个 .NET 8 WPF 桌面应用,用于可视化创建和管理 Psych Engine mod。无需手动编辑 JSON 或整理目录结构——填表单、选文件,一键导出可直接运行的 mod。
- 内置模板一键创建 mod 项目(无外部依赖)
- 打开 / 保存已有 mod 项目
- 直接导出到 PsychEngine
mods/目录——编辑即可玩
- 角色基础属性(名称、缩放、演唱时长、血条 RGB)
- 动画系统(名称、前缀、帧率、循环、偏移、索引)
- 多角色管理,创建 / 删除 / 编辑即时同步 EntityRegistry
- 歌曲元数据(BPM、速度、角色分配、舞台、艺术家)
- 多难度谱面导入(easy / normal / hard)
- 音频文件管理(Inst / Voices)
- 重新编辑谱面时保留
notes数据——重复保存不丢数据
- 周目基础属性(名称、故事模式排序、前置周目)
- 菜单角色槽位(左 / 中 / 右)
- 歌曲列表管理(排序、难度选择、颜色标签)
- 周目图标选择与实时预览
- 背景舞台选择
- 自动生成
weekList.txt
- EntityRegistry —— 全局注册表,扫描
characters/+data/目录;所有编辑器共享同一份可用角色 / 歌曲 / 舞台列表 - IDialogService —— 统一深色主题对话框(确认 / 错误 / 警告 / 文件选择 / 输入)
- TemplateService —— 内置模板系统,支持
{{VAR}}占位符替换
| 技术 | 用途 |
|---|---|
| .NET 8 + WPF | 桌面应用框架 |
| CommunityToolkit.Mvvm 8.2.2 | MVVM 源代码生成器(ObservableProperty / RelayCommand) |
| Microsoft.Extensions.Hosting | 依赖注入 |
| AvalonEdit | 代码编辑器控件 |
| System.Text.Json | JSON 序列化 |
- .NET 8 SDK
- Windows 10/11 x64
git clone https://github.com/wait-code/UTPE.git
cd UTPE
dotnet build UTPE.Main/UTPE.Main.csprojdotnet publish UTPE.Main/UTPE.Main.csproj -c Release -r win-x64 --self-contained true -o publish将整个 publish/ 文件夹拷到任意 Windows x64 机器,双击 UTPE.Main.exe 即可运行。
首次启动时会引导设置 PsychEngine 路径。配置文件存储在 %APPDATA%/UTPE/config.json。
MIT