# PS_ProserveEditor - Project Guidelines

## Project Overview
Unreal Engine 5.5 project with runtime editor plugin (PS_Editor). The plugin enables runtime scene editing in packaged builds: object placement, property editing, scenario definition, splines, lighting, and JSON scene save/load.

## Architecture
- **Plugin**: PS_Editor (runtime plugin, must work in packaged builds)
- **UI**: UMG driven by C++
- **Gizmos**: InteractiveToolsFramework (UE5 built-in)
- **Serialization**: JSON via Json/JsonUtilities modules
- **Input**: Enhanced Input system

## Naming Conventions
- All plugin files and classes use the `PS_Editor_` prefix (e.g., `PS_Editor_GameMode`, `PS_Editor_Pawn`)
- Code and comments in English
- Standard UE5 prefixes: `A` for Actors, `U` for UObjects, `F` for structs, `E` for enums, `I` for interfaces

## Code Quality
- Prefer correct, complete implementations over minimal ones.
- Use appropriate data structures and algorithms — don't brute-force what has a known better solution.
- When fixing a bug, fix the root cause, not the symptom.
- If something requires error handling or validation to work reliably, include it without asking.

## Build
- Engine: Unreal Engine 5.5
- Plugin location: `Unreal/Plugins/PS_Editor/`
- Game module: `PS_ProserveEditor` (in `Unreal/Source/PS_ProserveEditor/`)
- CLI build command (Editor, Development):
  ```
  "<UE_INSTALL>/Engine/Build/BatchFiles/Build.bat" PS_ProserveEditorEditor Win64 Development -Project="<REPO>/Unreal/PS_ProserveEditor.uproject" -WaitMutex -FromMsBuild
  ```
  UE install path can be found via registry: `HKLM\SOFTWARE\EpicGames\Unreal Engine\5.5` > `InstalledDirectory`

## Project Memory
Shared project memory is stored in `.claude/memory/` (versioned in the repository). When starting a new session on any machine, read these files to restore context:

- `MEMORY.md` — Index of all memory files with one-line summaries
- `project_ps_editor.md` — Project scope, technical decisions, current phase
- `feedback_naming.md` — Naming conventions and user preferences
- `reference_build.md` — Full build command and UE install path details
