Skip to content

Latest commit

 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

UTPE — Psych Engine Mod Toolkit

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.

Features

Project Management

  • 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 Editor

  • 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 Manager

  • Song metadata (BPM, speed, character assignment, stage, artist)
  • Multi-difficulty chart import (easy / normal / hard)
  • Audio file management (Inst / Voices)
  • Chart re-editing preserves notes data — no data loss on re-save

Week Editor

  • 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

Global Services

  • 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 Stack

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

Project Structure

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

Quick Start

Prerequisites

  • .NET 8 SDK
  • Windows 10/11 x64

Build

git clone https://github.com/wait-code/UTPE.git
cd UTPE
dotnet build UTPE.Main/UTPE.Main.csproj

Publish (self-contained — no .NET runtime needed on target machine)

dotnet publish UTPE.Main/UTPE.Main.csproj -c Release -r win-x64 --self-contained true -o publish

Copy the entire publish/ folder to any Windows x64 machine and run UTPE.Main.exe directly.

Configuration

On first launch, you'll be guided to set your PsychEngine path. Config is stored at %APPDATA%/UTPE/config.json.

License

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.csproj

发布(独立部署——目标机器无需安装 .NET 运行时)

dotnet 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

About

Util of Psych Engine

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages