unity-skills

Original🇺🇸 English
Translated
1 scriptsChecked / no sensitive code detected

Unity Editor REST API. BATCH-FIRST: Use *_batch for 2+ objects.

1installs
Added on

NPX Install

npx skill4agent add besty0728/unity-skills unity-skills

Unity Skills API

RULE: 2+ objects → use
*_batch
skill (1 call vs N calls)

Batch Skills (Use First!)

Skillitems format
gameobject_create_batch
[{name, primitiveType?, x?, y?, z?, parentName?}]
gameobject_delete_batch
[{name?, instanceId?}]
or
["name1","name2"]
gameobject_set_transform_batch
[{name, posX?, posY?, posZ?, rotX?, rotY?, rotZ?, scaleX?, scaleY?, scaleZ?}]
gameobject_set_active_batch
[{name, active}]
gameobject_set_parent_batch
[{childName, parentName}]
gameobject_duplicate_batch
[{name?, instanceId?}]
gameobject_rename_batch
[{instanceId, newName}]
gameobject_set_layer_batch
[{name, layer}]
gameobject_set_tag_batch
[{name, tag}]
component_add_batch
[{name, componentType}]
component_remove_batch
[{name, componentType}]
component_set_property_batch
[{name, componentType, propertyName, value}]
material_create_batch
[{name, shaderName?, savePath?}]
material_assign_batch
[{name, materialPath}]
material_set_colors_batch
[{name?, path?, r, g, b, a?, intensity?}]
material_set_emission_batch
[{name?, path?, r, g, b, intensity?}]
prefab_instantiate_batch
[{prefabPath, x?, y?, z?, rotX?, rotY?, rotZ?, name?, parentName?}]
asset_import_batch
[{sourcePath, destinationPath}]
asset_delete_batch
[{path}]
asset_move_batch
[{sourcePath, destinationPath}]
ui_create_batch
[{type, name, parent?, text?, width?, height?, x?, y?}]
type: Button/Text/Image/Panel/Slider/Toggle/InputField
script_create_batch
[{scriptName, folder?, template?, namespace?}]
light_set_properties_batch
[{name, intensity?, r?, g?, b?, range?, shadows?}]
light_set_enabled_batch
[{name, enabled}]
texture_set_settings_batch
[{assetPath, textureType?, maxSize?, filterMode?, compression?, mipmapEnabled?, spritePixelsPerUnit?}]
audio_set_settings_batch
[{assetPath, loadType?, compressionFormat?, quality?, forceToMono?}]
model_set_settings_batch
[{assetPath, animationType?, meshCompression?, importAnimation?}]

Single Skills

gameobject

SkillParameters
gameobject_create
name?, primitiveType?, x?, y?, z?, parentName?
gameobject_delete
name?, instanceId?, path?
gameobject_find
name?, tag?, layer?, component?, useRegex?, limit? → returns list
gameobject_get_info
name?, instanceId?, path?
gameobject_set_transform
name, posX?, posY?, posZ?, rotX?, rotY?, rotZ?, scaleX?, scaleY?, scaleZ?
gameobject_set_parent
name, parentName
gameobject_set_active
name, active
gameobject_duplicate
name?, instanceId? → returns copyName, copyInstanceId
gameobject_rename
name?, instanceId?, newName
primitiveType: Cube, Sphere, Capsule, Cylinder, Plane, Quad, Empty(null)

component

SkillParameters
component_add
name, componentType
component_remove
name, componentType
component_list
name → returns components[]
component_set_property
name, componentType, propertyName, value
component_get_properties
name, componentType
componentType: Rigidbody, BoxCollider, SphereCollider, CapsuleCollider, MeshCollider, CharacterController, AudioSource, Light, Camera, Animator, etc.

material

SkillParameters
material_create
name, shaderName?, savePath?
material_assign
name?, instanceId?, path?, materialPath
material_set_color
name?, path?, r, g, b, a?, propertyName?, intensity?
material_set_emission
name?, path?, r, g, b, intensity?, enableEmission?
material_set_texture
name?, path?, texturePath, propertyName?
material_set_float
name?, path?, propertyName, value
material_set_int
name?, path?, propertyName, value
material_set_vector
name?, path?, propertyName, x, y, z?, w?
material_set_keyword
name?, path?, keyword, enable?
material_set_render_queue
name?, path?, renderQueue
material_set_shader
name?, path?, shaderName
material_set_texture_offset
name?, path?, propertyName?, x, y
material_set_texture_scale
name?, path?, propertyName?, x, y
material_get_properties
name?, path?
material_get_keywords
name?, path?
material_duplicate
sourcePath, newName, savePath?

scene

SkillParameters
scene_create
scenePath
scene_load
scenePath, additive?
scene_save
scenePath?
scene_get_info
(none) → name, path, isDirty, rootObjects
scene_get_hierarchy
maxDepth? → hierarchy tree
scene_screenshot
filename?, width?, height?

light

SkillParameters
light_create
name?, lightType?, x?, y?, z?, r?, g?, b?, intensity?, range?, spotAngle?, shadows?
light_set_properties
name, r?, g?, b?, intensity?, range?, shadows?
light_get_info
name
light_find_all
lightType?, limit? → returns list
light_set_enabled
name, enabled
lightType: Directional, Point, Spot, Area | shadows: none, hard, soft

prefab

SkillParameters
prefab_create
gameObjectName?, instanceId?, savePath
prefab_instantiate
prefabPath, x?, y?, z?, name?, parentName?
prefab_apply
gameObjectName?, instanceId?
prefab_unpack
gameObjectName?, instanceId?, completely?

asset

SkillParameters
asset_import
sourcePath, destinationPath
asset_delete
assetPath
asset_move
sourcePath, destinationPath
asset_duplicate
assetPath
asset_find
searchFilter, searchInFolders?, limit? → returns paths
asset_create_folder
folderPath
asset_refresh
(none)
asset_get_info
assetPath
searchFilter: t:Texture2D, t:Material, t:Prefab, t:AudioClip, t:Script, name, l:Label

ui

SkillParameters
ui_create_canvas
name?, renderMode?
ui_create_panel
name?, parent?, r?, g?, b?, a?, width?, height?
ui_create_button
name?, parent?, text?, width?, height?, x?, y?
ui_create_text
name?, parent?, text?, fontSize?, r?, g?, b?, a?, width?, height?
ui_create_image
name?, parent?, spritePath?, r?, g?, b?, a?, width?, height?
ui_create_inputfield
name?, parent?, placeholder?, width?, height?
ui_create_slider
name?, parent?, minValue?, maxValue?, value?, width?, height?
ui_create_toggle
name?, parent?, label?, isOn?
ui_set_text
name, text
ui_find_all
uiType?, limit?
renderMode: ScreenSpaceOverlay, ScreenSpaceCamera, WorldSpace | uiType: Button, Text, Image, Panel, Slider, Toggle, InputField

script

SkillParameters
script_create
scriptName, folder?, template?, namespace?
script_read
scriptPath → content
script_delete
scriptPath
script_find_in_file
pattern, folder?, isRegex?, limit? → matches
script_append
scriptPath, content, atLine?
template: MonoBehaviour, ScriptableObject, Editor, EditorWindow

editor

SkillParameters
editor_play
(none)
editor_stop
(none)
editor_pause
(none)
editor_select
gameObjectName?, instanceId?
editor_get_selection
(none) → selected objects with instanceId
editor_get_context
includeComponents?, includeChildren? → selection, assets, scene info
editor_undo
(none)
editor_redo
(none)
editor_get_state
(none) → isPlaying, isPaused, isCompiling
editor_execute_menu
menuPath
editor_get_tags
(none)
editor_get_layers
(none)
menuPath: "File/Save", "Edit/Play", "GameObject/Create Empty", "Assets/Refresh"

animator

SkillParameters
animator_create_controller
name, folder?
animator_add_parameter
controllerPath, paramName, paramType, defaultValue?
animator_get_parameters
controllerPath
animator_set_parameter
name, paramName, paramType, floatValue?/intValue?/boolValue?
animator_play
name, stateName, layer?, normalizedTime?
animator_get_info
name
animator_assign_controller
name, controllerPath
animator_list_states
controllerPath, layer?
paramType: float, int, bool, trigger

shader

SkillParameters
shader_create
shaderName, savePath, template?
shader_read
shaderPath
shader_list
filter?, limit?
template: Unlit, Standard, Transparent

workflow (Persistent History)

SkillParameters
workflow_task_start
tag, description?
workflow_task_end
(none)
workflow_snapshot_object
name?, instanceId?
workflow_list
(none)
workflow_revert_task
taskId
workflow_delete_task
taskId

console

SkillParameters
console_start_capture
(none)
console_stop_capture
(none)
console_get_logs
filter?, limit?
console_clear
(none)
console_log
message, type?
filter/type: Log, Warning, Error

validation

SkillParameters
validate_scene
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?
validate_texture_sizes
maxRecommendedSize?, limit?
validate_project_structure
rootPath?, maxDepth?

importer

SkillParameters
texture_get_settings
assetPath
texture_set_settings
assetPath, textureType?, maxSize?, filterMode?, compression?, mipmapEnabled?, sRGB?, readable?, spritePixelsPerUnit?, wrapMode?
audio_get_settings
assetPath
audio_set_settings
assetPath, forceToMono?, loadInBackground?, preloadAudioData?, loadType?, compressionFormat?, quality?
model_get_settings
assetPath
model_set_settings
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

SkillParameters
physics_raycast
originX, originY, originZ, dirX, dirY, dirZ, maxDistance?, layerMask?
physics_check_overlap
x, y, z, radius, layerMask?
physics_get_gravity
(none)
physics_set_gravity
x, y, z

camera

SkillParameters
camera_align_view_to_object
objectName
camera_get_info
(none)
camera_set_transform
posX, posY, posZ, rotX, rotY, rotZ, size?, instant?
camera_look_at
x, y, z

navmesh

SkillParameters
navmesh_bake
(none)
navmesh_calculate_path
startX, startY, startZ, endX, endY, endZ, areaMask?

timeline

SkillParameters
timeline_create
name, folder?
timeline_add_audio_track
directorObjectName, trackName?
timeline_add_animation_track
directorObjectName, trackName?, bindingObjectName?

cinemachine

SkillParameters
cinemachine_create_vcam
name
cinemachine_set_vcam_property
vcamName, componentType, propertyName, value
cinemachine_set_targets
vcamName, followName?, lookAtName?

event

SkillParameters
event_get_listeners
objectName, componentName, eventName
event_add_listener
objectName, componentName, eventName, targetObjectName, ...
event_invoke
objectName, componentName, eventName

project

SkillParameters
project_get_info
(none)
project_list_shaders
filter?, limit?
project_get_quality_settings
(none)

optimization

SkillParameters
optimize_textures
maxTextureSize?, enableCrunch?, compressionQuality?
optimize_mesh_compression
compressionLevel, filter?

profiler

SkillParameters
profiler_get_stats
(none)

package

SkillParameters
package_list
(none) → returns installed packages
package_check
packageId → returns installed, version
package_install
packageId, version?
package_remove
packageId
package_refresh
(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
    script_create
    , wait 3-5s for Unity recompile
  • Use
    instanceId
    (from
    editor_get_selection
    /
    editor_get_context
    ) for guaranteed uniqueness
  • name?
    means use name OR instanceId OR path to identify object