ue-mcp-native-cpp
/ue-mcp-native-cpp
Prowadzi pisanie natywnych klas C++ UCLASS w projekcie Unreal przez ue-mcp: tworzenie klasy, zapis pliku, kompilację na żywo i dodawanie zależności.
Ocena i bezpieczeństwo
- Pliki w paczce
- 1
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 0
Brak sygnałów. Repozytorium zmienione 26.10.2026, bez odwołań do wycofanych modeli i API.
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
Co robi i kiedy
Prowadzi pisanie natywnych klas C++ UCLASS w projekcie Unreal przez ue-mcp: tworzenie klasy, zapis pliku, kompilację na żywo i dodawanie zależności.
Oryginalny opis (EN)
Use when writing or modifying native C++ UCLASSes in an Unreal project via ue-mcp. Covers create_cpp_class → write_cpp_file → live_coding_compile loop, when to use build vs Live Coding, and the add_module_dependency workflow. Pulls in any time the user asks to write a new native class, add a UPROPERTY, or implement a UFUNCTION.
Jak działa
- The authoring loop
- Adding module dependencies
- Reading the engine source
- Pitfalls
- Testing the new class
Podgląd SKILL.md
--- name: ue-mcp-native-cpp description: Use when writing or modifying native C++ UCLASSes in an Unreal project via ue-mcp. Covers create_cpp_class → write_cpp_file → live_coding_compile loop, when to use build vs Live Coding, and the add_module_dependency workflow. Pulls in any time the user asks to write a new native class, add a UPROPERTY, or implement a UFUNCTION. --- # ue-mcp native C++ authoring The `project` tool wraps `GameProjectUtils::AddCodeToProject` and `ILiveCodingModule` so agents can author native C++ end-to-end without Python or the editor UI. ## The authoring loop 1. **Pick a module.** `project(action="list_project_modules")` enumerates the project's native modules (name, host type, source path). Feed the module name into `create_cpp_class`. 2. **Create the class.** `project(action="create_cpp_class", className, parentClass?, moduleName?, classDomain?, subPath?)` writes `.h` and `.cpp` using the same engine template that `File → New C++ Class` uses. The class-name prefix (`A`, `U`, `F`) is derived from `parentClass` - pass the bare name (`"BotSpawner"`, not `"ABotSpawner"`). 3. **Inspect the generated files.** `project(action="read_cpp_header", headerPath=...)` and `project(action="read_cpp_source", sourcePath=...)`. Both paths are relative to `Source/` or absolute within it. 4. **Append declarations and bodies.** `project(action="write_cpp_file", path=..., content=...)` writes the full file contents (scoped to the `Source/` tree for safety). Read first, then write the amended content. 5. **Compile.** - **New UCLASS** → `project(action="build")`. Live Coding doesn't reliably register brand-new UCLASSes; you need a full build and an editor restart. `create_cpp_class` surfaces this via `needsEditorRestart` in its response. - **Existing UCLASS** (editing method bodies, adding UPROPERTYs, etc.) → `project(action="live_coding_compile", wait=true)`. Hot-patches method bodies without restart - the fast inner loop. Check `live_coding_status` first to confirm Live Coding is available and not already compiling. ## Adding module dependencies When you need a new module in a project's `Build.cs`: - `project(action="add_module_dependency", moduleName=<target Build.cs>, dependency=<module to add>, access="public"|"private")` - Deduplicates automatically. Creates the `AddRange` block if missing. - Rebuild afterwards (`project(action="build")`). ## Reading the engine source When you need to know *how* UE does something, reach for engine source lookup: - `project(action="read_engine_header", headerPath=...)` - parse a `.h` from `Engine/Source` (relative to `Engine/Source` or absolute). - `project(action="find_engine_symbol", symbol=..., maxResults?)` - grep engine runtime headers for a symbol. - `project(action="search_engine_cpp", query, tree?, subdirectory?, maxResults?)` - broader grep across `.h` / `.cpp` / `.inl` in `Runtime` / `Editor` / `Developer` / `Plugins` (or `all`). - `project(action="list_engine_modules")` - enumerate modules in `Engine/Source/Runtime`. ## Pitfalls - **UCLASSes need UnrealBuildTool + MSVC/Clang** on the host. Same requirement as the editor's own Build menu. - **`write_cpp_file` refuses writes outside `Source/`** and rejects extensions other than `.h` / `.cpp` / `.inl` / `.cs`. - **Live Coding ≠ full build.** If behavior doesn't reflect your code changes, check whether you added a new UCLASS, UFUNCTION reflection macro, or UPROPERTY annotation - those usually need a full build. - **Don't edit Intermediate/ or Binaries/.** These are regenerated. ## Testing the new class Once a class is compiled and registered, you can typically: - `asset(action="read_properties", assetPath=...)` or `reflection(action="reflect_class", className=...)` to verify UE sees the UCLASS. - `blueprint(action="create", parentClass="/Script/<Module>.<Class>")` to subclass it from a Blueprint. - `level(action="place_actor", actorClass=...)` to drop an instance into the level.
Wersje
W bazie nie ma innych skilli o nazwie ue-mcp-native-cpp.
Migawka bazy z 28.10.2026 · wersja paczki 8a00762903b6 (skrót SHA-256 całej paczki)
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100unreal-cpp-gameplay
Pomaga pisać kod rozgrywki w C++ dla Unreal Engine 5: makra UCLASS, UPROPERTY i UFUNCTION, Gameplay Framework, komponenty Actorów oraz moduł Build.cs. - 100ue-cpp-foundations
Wspiera C++ w Unreal Engine dotyczący refleksji i typów rdzeniowych: UCLASS, UPROPERTY, USTRUCT, inteligentne wskaźniki, kontenery, delegaty, FName, FString i subsystemy. - 100ue5-cpp-gameplay
Implementuje w C++ aktory, komponenty i DataAssets w Unreal Engine 5.6 do 5.8, z UPROPERTY i GameplayTags. - 98ue5-gamedev
Wspiera tworzenie gier w Unreal Engine 5: kod C++, Blueprinty, automatyzację edytora i budowanie projektu przez API i MCP. - 100ue-code-authoring
Pisze i zmienia kod C++ w Unreal Engine: klasy, aktory, komponenty, GAS i testowalne zachowania gry. - 90ue-mcp-workflow
Steruje edytorem Unreal Engine przez serwer ue-mcp: sprawdza status na początku, zarządza cyklem edytora i obsługuje komunikat „still initializing”.