Token导航 LogoToken导航TokenDH.com
研究检索只读github未标认证来源可访问许可证需确认审计通过

unity-csharp-fundamentalsUnity csharp fundamentals 搜索

Agent Skill

unity-csharp-fundamentals 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

269

周安装

11

GitHub Stars

8

下载量

86
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:unity-csharp-fundamentals(Unity csharp fundamentals 搜索)
来源仓库:https://github.com/creator-hian/claude-code-plugins
仓库路径:skills/unity-csharp-fundamentals
安装命令:
npx skills add https://github.com/creator-hian/claude-code-plugins --skill unity-csharp-fundamentals
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/creator-hian/claude-code-plugins --skill unity-csharp-fundamentals

简介

用于 Unity C# 基础概念的查找、检索和筛选,适合在 Codex、Claude、Cursor、Gemini CLI 中快速定位基础知识点。

  • 适用于需要根据关键词或学习场景定位候选结果时使用。
  • 通过 npx skills add 命令从 GitHub 仓库安装并使用。
  • 安装前建议确认权限范围和维护状态,避免触发不必要的联网或文件操作。
  • unity-csharp-fundamentals 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Unity C# Fundamentals - Essential Coding Patterns

Overview

Core Unity C# patterns for safe, maintainable code. Not optimizations but fundamental practices.

Foundation Required: C# basics, Unity MonoBehaviour lifecycle

Core Topics: TryGetComponent, SerializeField, RequireComponent, Null-safe patterns, Lifecycle management

Essential Patterns

TryGetComponent (Required)

Always use TryGetComponent instead of GetComponent:

// ❌ WRONG
Rigidbody rb = GetComponent<Rigidbody>();
rb.velocity = Vector3.zero;  // NullReferenceException!

// ✅ CORRECT
Rigidbody rb;
if (TryGetComponent(out rb))
{
    rb.velocity = Vector3.zero;
}

// ✅ Cache in Awake with validation
private Rigidbody mRb;

void Awake()
{
    if (!TryGetComponent(out mRb))
    {
        Debug.LogError($"Missing Rigidbody on {gameObject.name}", this);
    }
}

Global Object Search (Unity 2023.1+)

// ❌ OBSOLETE - DON'T USE
GameManager manager = FindObjectOfType<GameManager>();

// ✅ CORRECT - Fastest (unordered)
GameManager manager = FindAnyObjectByType<GameManager>();

// ✅ CORRECT - Ordered
GameManager manager = FindFirstObjectByType<GameManager>();

// ✅ Multiple objects
Enemy[] enemies = FindObjectsByType<Enemy>(FindObjectsSortMode.None);

SerializeField Pattern

// ❌ WRONG: Public field
public float speed;

// ✅ CORRECT: SerializeField + private
[SerializeField] private float mSpeed = 5f;

// ✅ With Inspector helpers
[SerializeField, Tooltip("Units/second"), Range(0f, 100f)]
private float mMoveSpeed = 5f;

public float Speed => mSpeed;  // Read-only access

RequireComponent

[RequireComponent(typeof(Rigidbody))]
[DisallowMultipleComponent]
public class PhysicsObject : MonoBehaviour
{
    private Rigidbody mRb;

    void Awake()
    {
        TryGetComponent(out mRb);  // Guaranteed to exist
    }
}

Unity Null Safety

// ❌ WRONG: C# null operators don't work with Unity Objects
Transform target = mCached ?? FindTarget();  // Broken!
mEnemy?.TakeDamage(10);  // May fail after Destroy

// ✅ CORRECT: Explicit null check
Transform target = mCached != null ? mCached : FindTarget();

if (mEnemy != null)
{
    mEnemy.TakeDamage(10);
}

Lifecycle Order

void Awake()     { /* 1. Self-init, cache components */ }
void OnEnable()  { /* 2. Subscribe events */ }
void Start()     { /* 3. Cross-object init */ }
void OnDisable() { /* 4. Unsubscribe events */ }
void OnDestroy() { /* 5. Final cleanup */ }

Unity C# 9.0 Limitations

Important: Unity's Mono/IL2CPP runtime lacks IsExternalInit. init accessor causes compile error CS0518.
// ❌ COMPILE ERROR in Unity
public string Name { get; private init; }

// ✅ Use private set
public string Name { get; private set; }

// ✅ Or readonly field + property
private readonly string mName;
public string Name => mName;

Available: Pattern matching, switch expressions, covariant returns NOT Available: init, required (C# 11)

Quick Reference

PatternRule
Component accessAlways TryGetComponent, never bare GetComponent
Serialization[SerializeField] private, not public
DependenciesUse [RequireComponent] for guaranteed components
Null checksExplicit != null, not ?? or ?.
CachingGet in Awake, reuse everywhere
EventsSubscribe in OnEnable, unsubscribe in OnDisable
Global searchFindAnyObjectByType (fastest), not FindObjectOfType

Reference Documentation

Component Access Patterns

  • TryGetComponent variations and interface-based access
  • GetComponentInChildren/Parent patterns
  • Allocation-free multiple component access
  • Caching strategies and performance comparisons

Attributes and Patterns

  • Complete serialization attribute reference
  • Inspector customization (Header, Tooltip, Range)
  • Execution order control
  • Conditional compilation

Language Limitations

  • init accessor alternatives with code examples
  • Records in Unity (limitations and workarounds)
  • required modifier alternatives
  • Available C# 9.0 features in Unity

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.62%
按下载量换算31

Claude

30.45%
按下载量换算26

Cursor

20.26%
按下载量换算17

Gemini CLI

10.68%
按下载量换算9

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills