بنقرة واحدة
unity-editor-scripting
Unity Editor Scripting
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Unity Editor Scripting
التثبيت باستخدام 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-editor-scripting |
| description | Unity Editor Scripting |
Use this skill when building custom inspectors, editor windows, property drawers, build pipeline extensions, or other tools using the UnityEditor API.
Always use Undo for editor operations so users can Ctrl+Z:
// Record changes to existing object
Undo.RecordObject(transform, "Move Object");
transform.position = newPosition;
// Register newly created objects
var go = new GameObject("New Object");
Undo.RegisterCreatedObjectUndo(go, "Create Object");
// Register object destruction
Undo.DestroyObjectImmediate(gameObject);
// Group multiple operations into one undo step
Undo.SetCurrentGroupName("Complex Operation");
int group = Undo.GetCurrentGroup();
// ... multiple operations ...
Undo.CollapseUndoOperations(group);
// Register complete object state (for complex changes)
Undo.RegisterFullObjectHierarchyUndo(root, "Modify Hierarchy");
// EditorPrefs — persists between editor sessions (stored in registry/plist)
EditorPrefs.SetString("MyTool_LastPath", path);
string lastPath = EditorPrefs.GetString("MyTool_LastPath", defaultValue: "Assets/");
// SessionState — persists only during current editor session
SessionState.SetBool("MyTool_ShowAdvanced", true);
bool showAdvanced = SessionState.GetBool("MyTool_ShowAdvanced", false);