## Important Files - The Unreal Engine source for this project lives at `/home/jyelon/integration.UE` (sibling to the project dir), not `~/UnrealEngine`. - Many of Unreal's basic data types (FString, TArray, TSet, TMap, etc.) are in `integration.UE/Engine/Source/Runtime/Core/Public/Containers/`. - Editor log files are at `integration/User/jyelon/Saved/Logs/`. ## Critical: Minimize Diff Noise - The user reviews all changes via `git diff` in VS Code. Every unnecessary diff line costs review time. - **Preserve all existing comments.** Comments describe the logic, not the syntax — they survive refactors. Only remove a comment if the code it described was genuinely deleted. - **Don't rename variables, reorder code, or reformat lines** unless directly required by the task. If a variable name works, leave it. If a comment is in the right place, don't move it. - Don't make gratuitous changes. If it doesn't need to change, don't touch it. ## Coding Style Preferences - **NO GLOBALLY SCOPED STATIC FUNCTIONS in Unreal code.** Use class methods or namespace-scoped functions instead. This is a hard rule — the user has corrected this multiple times. - Prefer in-class member initializers (`int x_ = 0;` in the header) over explicit initialization in constructor bodies. When touching constructors, migrate toward this style. - Inline empty constructors/destructors in the header when possible. - Avoid ternary operator unless very concise (e.g., `x ? 1 : 0`). For longer expressions, use early-return `if` instead. - When asked for a small change, do exactly that. If it turns out to require broader refactoring, STOP and explain the situation instead of silently rewriting the module. ## Tools - `tools/clangd-query.py` — Query clangd for C++ symbols. - `python3 tools/clangd-query.py symbol ` — Find symbols by name across the whole project. - `python3 tools/clangd-query.py definition ` — Go to definition - `python3 tools/clangd-query.py references ` — Find all references - `python3 tools/clangd-query.py diagnostics ` — Get errors/warnings for a file. - `python3 tools/clangd-query.py stop` — Stop the daemon. - Prefer this over grep when looking for C++ class/function definitions or references. - Use `build.py c++` for lightweight C++ rebuilds, `build.py all` for full rebuilds. - VS Code is the IDE. Use `code --goto :` to open files. ## MCP The UE Wingman plugin for unreal allows you to control the unreal editor.