diff --git a/docs/GAMEPLAY_PROGRAMMING/external-process-languages/toolchains.md b/docs/GAMEPLAY_PROGRAMMING/external-process-languages/toolchains.md index b3d9838..c0a8fbd 100644 --- a/docs/GAMEPLAY_PROGRAMMING/external-process-languages/toolchains.md +++ b/docs/GAMEPLAY_PROGRAMMING/external-process-languages/toolchains.md @@ -11,6 +11,20 @@ installs every selected item through Windows Package Manager. Lua, JavaScript, a HTML/CSS are bundled. Additional toolchains can be installed later using **Rustic Game Engine > Language Toolchain Manager** in the Start menu or by rerunning Setup. +On Windows, Rustic checks the editor's PATH first, then the saved system and user +PATH on each dependency check. For C/C++, it also checks LLVM's registered install +folder and the standard LLVM folders under Program Files and +`%LOCALAPPDATA%\Programs`. An existing LLVM installation does not need to be +reinstalled or added to PATH when it is found in one of those locations. After +installing a toolchain, return to the editor and press **Play** to check again. + +If C/C++ is still reported missing, check that the LLVM `bin` folder contains +`clang.exe` for C and `clang++.exe` for C++. For an unregistered custom installation, +add its `bin` folder to your Windows user or system PATH and press **Play** again. +A WinGet package listing alone does not confirm that the required compiler files +are present. Other compiler, SDK, or linker errors appear in the Console after +discovery succeeds; repair the relevant toolchain if compilation fails. + Setup uses one PowerShell process without allocating a console for all selected toolchains and skips tools that are already installed. A bundled GUI setup helper launches PowerShell and the agent integration installer under the original user's diff --git a/docs/Scripting/scriptingC/current-limits-and-diagnosis.md b/docs/Scripting/scriptingC/current-limits-and-diagnosis.md index b9a1700..4a51ce1 100644 --- a/docs/Scripting/scriptingC/current-limits-and-diagnosis.md +++ b/docs/Scripting/scriptingC/current-limits-and-diagnosis.md @@ -13,7 +13,10 @@ have three seconds to finish. An exception, invalid engine value, process exit, timeout, or rejected call disables the behavior. Failed build/reload validation keeps the last good instance running. -- **Toolchain unavailable:** check PATH in the editor's environment, then restart it. +- **Toolchain unavailable:** check that `clang.exe` (Windows) or your chosen C + compiler exists. On Windows, add a custom compiler folder to the saved user/system + PATH and press **Play** again. On other platforms, restart the editor after a PATH + change. - **Nothing moves:** check attachment, owner transform, Play focus, and held KeyW. - **Property rejected:** declare it in the editor and preserve its type. - **Wrong parent:** pass the ID returned by Find, not the path string. diff --git a/docs/Scripting/scriptingC/setup-and-attachment.md b/docs/Scripting/scriptingC/setup-and-attachment.md index 2572d49..df84f5c 100644 --- a/docs/Scripting/scriptingC/setup-and-attachment.md +++ b/docs/Scripting/scriptingC/setup-and-attachment.md @@ -2,7 +2,10 @@ [Back to C](/docs/scripting/c). -1. Install Clang, GCC, or MSVC on PATH (C17). Restart the editor after changing PATH. +1. Install Clang, GCC, or MSVC (C17). On Windows, Rustic also checks the saved + system/user PATH and registered or standard LLVM install folders. After installation + or a saved PATH change, press **Play** to recheck. On other platforms, put the + compiler on PATH before starting the editor. Check the Project Manager’s **Settings** language tools and the editor **Console** for discovery errors. Contributors with a source checkout can optionally run `cargo xtask doctor` from `Engine/`. 2. Open your game project and scene. Select a **Part** object for this movement example. 3. Use **Programming > Object Component Script** and select C. diff --git a/docs/Scripting/scriptingCpp.md b/docs/Scripting/scriptingCpp.md index 6ff379e..107a4fa 100644 --- a/docs/Scripting/scriptingCpp.md +++ b/docs/Scripting/scriptingCpp.md @@ -5,7 +5,10 @@ compiles each `.cc`, `.cpp`, or `.cxx` behavior as C++20, and runs one isolated process per instance. The header parses protocol requests and exposes typed native helpers, so ordinary game code should not emit JSON. -Install `clang++`, `g++`, or MSVC `cl` on `PATH`. Clang/GCC builds use `-Wall +Install `clang++`, `g++`, or MSVC `cl` on `PATH`. On Windows, Rustic also checks +the saved system/user PATH and registered or standard LLVM install folders; press +**Play** after installation to recheck without reinstalling LLVM. A custom compiler +folder can be added to the saved user/system PATH. Clang/GCC builds use `-Wall -Wextra -Werror -std=c++20`; MSVC uses `/nologo /W4`. The editor also writes an IntelliSense copy to `.rustic/generated/programming/rustic.hpp`, but Rustic supplies the authoritative temporary copy when building. Never edit or vendor the generated