一键导入
unity-project-foundations
Unity Project Foundations
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Unity Project Foundations
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Unity ScriptableObject Architecture
Unity Shaders
Unity State Machines
Registers new C# files in resources/manifests/<system>.json (files array + tests.editmode/playmode list) and validates with just validate-registry. Use when creating any new script, adding a new game system, or fixing 'orphan file' CI failures. Trigger phrases: 'add to manifest', 'register file', 'new system', 'validate registry'. Key capabilities: exact JSON manifest format, ACTIVE/DEPRECATED/EXPERIMENTAL status, dependency declarations, test class name mapping for pre-push gating via resolve_module_tests.py. Do NOT use for modifying physics logic or editing game scripts unrelated to registration.
Unity Terrain & Track Creation for RC Racing
Unity Testing, Debugging & QA
| name | unity-project-foundations |
| description | Unity Project Foundations |
Use this skill when setting up project folder structure, configuring assembly definitions, managing packages, or establishing code style and version control conventions for a Unity project.
Before first commit, verify these settings:
| Setting | Location | Required Value |
|---|---|---|
| Serialization Mode | Editor Settings | Force Text |
| Visible Meta Files | Editor Settings | Visible (version control mode) |
| Default Behavior Mode | Editor Settings | 3D or 2D (match your project) |
| Color Space | Player Settings | Linear (for PBR) or Gamma |
| Scripting Backend | Player Settings | IL2CPP (for builds) or Mono (for dev) |
| API Compatibility | Player Settings | .NET Standard 2.1 or .NET Framework |
| Enter Play Mode Settings | Project Settings | Enabled, with Domain/Scene Reload disabled for fast iteration |
Edit -> Project Settings -> Editor -> Enter Play Mode Settings.
When enabled with "Reload Domain" unchecked, entering play mode is near-instant. But you must handle static state manually:
public class ScoreManager : MonoBehaviour
{
private static int _totalScore;
// Reset static state when entering play mode without domain reload
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]
private static void ResetStatics()
{
_totalScore = 0;
}
}
Rule: Every class with static fields needs a [RuntimeInitializeOnLoadMethod] reset method when using fast enter play mode. Without it, static state bleeds between play sessions.