Unity Skills API
RULE: 2+ objects → use
skill (1 call vs N calls)
Batch Skills (Use First!)
| Skill | items format |
|---|
| [{name, primitiveType?, x?, y?, z?, parentName?}]
|
| or |
gameobject_set_transform_batch
| [{name, posX?, posY?, posZ?, rotX?, rotY?, rotZ?, scaleX?, scaleY?, scaleZ?}]
|
gameobject_set_active_batch
| |
gameobject_set_parent_batch
| [{childName, parentName}]
|
gameobject_duplicate_batch
| |
| |
gameobject_set_layer_batch
| |
| |
| |
| |
component_set_property_batch
| [{name, componentType, propertyName, value}]
|
| [{name, shaderName?, savePath?}]
|
| |
material_set_colors_batch
| [{name?, path?, r, g, b, a?, intensity?}]
|
material_set_emission_batch
| [{name?, path?, r, g, b, intensity?}]
|
| [{prefabPath, x?, y?, z?, rotX?, rotY?, rotZ?, name?, parentName?}]
|
| [{sourcePath, destinationPath}]
|
| |
| [{sourcePath, destinationPath}]
|
| [{type, name, parent?, text?, width?, height?, x?, y?}]
type: Button/Text/Image/Panel/Slider/Toggle/InputField |
| [{scriptName, folder?, template?, namespace?}]
|
light_set_properties_batch
| [{name, intensity?, r?, g?, b?, range?, shadows?}]
|
| |
texture_set_settings_batch
| [{assetPath, textureType?, maxSize?, filterMode?, compression?, mipmapEnabled?, spritePixelsPerUnit?}]
|
| [{assetPath, loadType?, compressionFormat?, quality?, forceToMono?}]
|
| [{assetPath, animationType?, meshCompression?, importAnimation?}]
|
Single Skills
gameobject
| Skill | Parameters |
|---|
| name?, primitiveType?, x?, y?, z?, parentName? |
| name?, instanceId?, path? |
| name?, tag?, layer?, component?, useRegex?, limit? → returns list |
| name?, instanceId?, path? |
| name, posX?, posY?, posZ?, rotX?, rotY?, rotZ?, scaleX?, scaleY?, scaleZ? |
| name, parentName |
| name, active |
| name?, instanceId? → returns copyName, copyInstanceId |
| name?, instanceId?, newName |
primitiveType: Cube, Sphere, Capsule, Cylinder, Plane, Quad, Empty(null)
component
| Skill | Parameters |
|---|
| name, componentType |
| name, componentType |
| name → returns components[] |
| name, componentType, propertyName, value |
| name, componentType |
componentType: Rigidbody, BoxCollider, SphereCollider, CapsuleCollider, MeshCollider, CharacterController, AudioSource, Light, Camera, Animator, etc.
material
| Skill | Parameters |
|---|
| name, shaderName?, savePath? |
| name?, instanceId?, path?, materialPath |
| name?, path?, r, g, b, a?, propertyName?, intensity? |
| name?, path?, r, g, b, intensity?, enableEmission? |
| name?, path?, texturePath, propertyName? |
| name?, path?, propertyName, value |
| name?, path?, propertyName, value |
| name?, path?, propertyName, x, y, z?, w? |
| name?, path?, keyword, enable? |
material_set_render_queue
| name?, path?, renderQueue |
| name?, path?, shaderName |
material_set_texture_offset
| name?, path?, propertyName?, x, y |
material_set_texture_scale
| name?, path?, propertyName?, x, y |
| name?, path? |
| name?, path? |
| sourcePath, newName, savePath? |
scene
| Skill | Parameters |
|---|
| scenePath |
| scenePath, additive? |
| scenePath? |
| (none) → name, path, isDirty, rootObjects |
| maxDepth? → hierarchy tree |
| filename?, width?, height? |
light
| Skill | Parameters |
|---|
| name?, lightType?, x?, y?, z?, r?, g?, b?, intensity?, range?, spotAngle?, shadows? |
| name, r?, g?, b?, intensity?, range?, shadows? |
| name |
| lightType?, limit? → returns list |
| name, enabled |
lightType: Directional, Point, Spot, Area | shadows: none, hard, soft
prefab
| Skill | Parameters |
|---|
| gameObjectName?, instanceId?, savePath |
| prefabPath, x?, y?, z?, name?, parentName? |
| gameObjectName?, instanceId? |
| gameObjectName?, instanceId?, completely? |
asset
| Skill | Parameters |
|---|
| sourcePath, destinationPath |
| assetPath |
| sourcePath, destinationPath |
| assetPath |
| searchFilter, searchInFolders?, limit? → returns paths |
| folderPath |
| (none) |
| assetPath |
searchFilter: t:Texture2D, t:Material, t:Prefab, t:AudioClip, t:Script, name, l:Label
ui
| Skill | Parameters |
|---|
| name?, renderMode? |
| name?, parent?, r?, g?, b?, a?, width?, height? |
| name?, parent?, text?, width?, height?, x?, y? |
| name?, parent?, text?, fontSize?, r?, g?, b?, a?, width?, height? |
| name?, parent?, spritePath?, r?, g?, b?, a?, width?, height? |
| name?, parent?, placeholder?, width?, height? |
| name?, parent?, minValue?, maxValue?, value?, width?, height? |
| name?, parent?, label?, isOn? |
| name, text |
| uiType?, limit? |
renderMode: ScreenSpaceOverlay, ScreenSpaceCamera, WorldSpace | uiType: Button, Text, Image, Panel, Slider, Toggle, InputField
script
| Skill | Parameters |
|---|
| scriptName, folder?, template?, namespace? |
| scriptPath → content |
| scriptPath |
| pattern, folder?, isRegex?, limit? → matches |
| scriptPath, content, atLine? |
template: MonoBehaviour, ScriptableObject, Editor, EditorWindow
editor
| Skill | Parameters |
|---|
| (none) |
| (none) |
| (none) |
| gameObjectName?, instanceId? |
| (none) → selected objects with instanceId |
| includeComponents?, includeChildren? → selection, assets, scene info |
| (none) |
| (none) |
| (none) → isPlaying, isPaused, isCompiling |
| menuPath |
| (none) |
| (none) |
menuPath: "File/Save", "Edit/Play", "GameObject/Create Empty", "Assets/Refresh"
animator
| Skill | Parameters |
|---|
animator_create_controller
| name, folder? |
| controllerPath, paramName, paramType, defaultValue? |
| controllerPath |
| name, paramName, paramType, floatValue?/intValue?/boolValue? |
| name, stateName, layer?, normalizedTime? |
| name |
animator_assign_controller
| name, controllerPath |
| controllerPath, layer? |
paramType: float, int, bool, trigger
shader
| Skill | Parameters |
|---|
| shaderName, savePath, template? |
| shaderPath |
| filter?, limit? |
template: Unlit, Standard, Transparent
workflow (Persistent History)
| Skill | Parameters |
|---|
| tag, description? |
| (none) |
| name?, instanceId? |
| (none) |
| taskId |
| taskId |
console
| Skill | Parameters |
|---|
| (none) |
| (none) |
| filter?, limit? |
| (none) |
| message, type? |
filter/type: Log, Warning, Error
validation
| Skill | Parameters |
|---|
| checkMissingScripts?, checkMissingPrefabs?, checkDuplicateNames? |
validate_find_missing_scripts
| searchInPrefabs? |
validate_fix_missing_scripts
| dryRun? (default true) |
validate_cleanup_empty_folders
| rootPath?, dryRun? (default true) |
validate_find_unused_assets
| assetType?, limit? |
| maxRecommendedSize?, limit? |
validate_project_structure
| rootPath?, maxDepth? |
importer
| Skill | Parameters |
|---|
| assetPath |
| assetPath, textureType?, maxSize?, filterMode?, compression?, mipmapEnabled?, sRGB?, readable?, spritePixelsPerUnit?, wrapMode? |
| assetPath |
| assetPath, forceToMono?, loadInBackground?, preloadAudioData?, loadType?, compressionFormat?, quality? |
| assetPath |
| assetPath, globalScale?, meshCompression?, isReadable?, generateSecondaryUV?, importBlendShapes?, importCameras?, importLights?, animationType?, importAnimation?, materialImportMode? |
textureType: Default, NormalMap, Sprite, EditorGUI, Cursor, Cookie, Lightmap, SingleChannel
filterMode: Point, Bilinear, Trilinear | compression: None, LowQuality, Normal, HighQuality
loadType: DecompressOnLoad, CompressedInMemory, Streaming | compressionFormat: PCM, Vorbis, ADPCM
animationType: None, Legacy, Generic, Humanoid | meshCompression: Off, Low, Medium, High
physics
| Skill | Parameters |
|---|
| originX, originY, originZ, dirX, dirY, dirZ, maxDistance?, layerMask? |
| x, y, z, radius, layerMask? |
| (none) |
| x, y, z |
camera
| Skill | Parameters |
|---|
camera_align_view_to_object
| objectName |
| (none) |
| posX, posY, posZ, rotX, rotY, rotZ, size?, instant? |
| x, y, z |
navmesh
| Skill | Parameters |
|---|
| (none) |
| startX, startY, startZ, endX, endY, endZ, areaMask? |
timeline
| Skill | Parameters |
|---|
| name, folder? |
| directorObjectName, trackName? |
timeline_add_animation_track
| directorObjectName, trackName?, bindingObjectName? |
cinemachine
| Skill | Parameters |
|---|
| name |
cinemachine_set_vcam_property
| vcamName, componentType, propertyName, value |
| vcamName, followName?, lookAtName? |
event
| Skill | Parameters |
|---|
| objectName, componentName, eventName |
| objectName, componentName, eventName, targetObjectName, ... |
| objectName, componentName, eventName |
project
| Skill | Parameters |
|---|
| (none) |
| filter?, limit? |
project_get_quality_settings
| (none) |
optimization
| Skill | Parameters |
|---|
| maxTextureSize?, enableCrunch?, compressionQuality? |
optimize_mesh_compression
| compressionLevel, filter? |
profiler
package
| Skill | Parameters |
|---|
| (none) → returns installed packages |
| packageId → returns installed, version |
| packageId, version? |
| packageId |
| (none) |
package_install_cinemachine
| version? (2 or 3, default 3) |
package_get_cinemachine_status
| (none) → returns cinemachine/splines status |
Notes
- Response:
{success: true/false, ...data}
or {success: false, error: "message"}
- All operations auto-revert on failure
- After , wait 3-5s for Unity recompile
- Use (from /) for guaranteed uniqueness
- means use name OR instanceId OR path to identify object