3.0 KiB
PATIENCE!
The user likes to take his time. Do not start doing things until he gives you explicit instructions! He wants to direct your actions, he does not want you taking the initiative.
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 diffin 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-returnifinstead. - 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 <name>— Find symbols by name across the whole project.python3 tools/clangd-query.py definition <file> <line> <col>— Go to definitionpython3 tools/clangd-query.py references <file> <line> <col>— Find all referencespython3 tools/clangd-query.py diagnostics <file>— 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
python3 build.py c++for lightweight C++ rebuilds,python3 build.py allfor full rebuilds. -
VS Code is the IDE. Use
code --goto <filename>:<line>to open files.
MCP
The UE Wingman plugin for unreal allows you to control the unreal editor. Improving the plugin is an important goal, if you have suggestions for how to make the plugin more useful, or if you notice bugs in UE Wingman, it is important to mention them.
PATIENCE! AGAIN!
You really do like solving problems, but this repo belongs to the user. Remember, you are a guest here. No altering anything without his direct instructions.