Version Comparison

Unity Code Assist is compatible with both Visual Studio and VS Code. Missing features of VS Code will be implemented by time.

Unity Code Assist has two version, full and lite. Full version has all of the features available and lite version (for VS Code) has limited features.

  • Code Completion

    More content for code completion (aka IntelliSense) which is specialized for common Unity APIs and your own projects.

    Visual Studio VS Code
    Feature Lite Full Lite Full
    BatchFilterSettings.layer
    Canvas.sortingLayerName
    Canvas.sortingLayerID
    Canvas.sortingOrder
    Component.SendMessage()
    Component.SendMessageUpwards()
    Component.BroadcastMessage()
    Component.tag
    Component.CompareTag()
    EditorGUI.LayerField()
    EditorGUI.TagField()
    EditorGUILayout.LayerField()
    EditorGUILayout.TagField()
    GameObject.SendMessage()
    GameObject.SendMessageUpwards()
    GameObject.BroadcastMessage()
    GameObject.layer
    GameObject.tag
    GameObject.CompareTag()
    GameObject.FindWithTag()
    GameObject.FindGameObjectWithTag()
    GameObject.FindGameObjectsWithTag()
    Graphics.DrawMesh()
    Graphics.DrawMeshInstanced()
    Graphics.DrawMeshInstancedIndirect()
    Graphics.DrawProcedural()
    Graphics.DrawProceduralIndirect()
    Graphics.DrawMeshInstancedProcedural()
    Input.GetAxis()
    Input.GetAxisRaw()
    Input.GetButton()
    Input.GetButtonUp()
    Input.GetButtonDown()
    Input.GetKey()
    Input.GetKeyUp()
    Input.GetKeyDown()
    Input.GetMouseButton()
    Input.GetMouseButtonDown()
    Input.GetMouseButtonUp()
    Input.IsJoystickPreconfigured()
    InputWrapper.GetAxisRaw()
    InputWrapper.GetButtonDown()
    InputWrapper.GetMouseButton()
    InputWrapper.GetMouseButtonDown()
    InputWrapper.GetMouseButtonUp()
    LayerMask.LayerToName()
    LayerMask.NameToLayer()
    LayerMask.GetMask()
    Light.GetLights()
    MonoBehaviour.CancelInvoke()
    MonoBehaviour.Invoke()
    MonoBehaviour.InvokeRepeating()
    MonoBehaviour.IsInvoking()
    MonoBehaviour.StartCoroutine()
    MonoBehaviour.StopCoroutine()
    ObjectSelectorHandlerWithTagsAttribute..ctor()
    Physics.GetIgnoreLayerCollision()
    Physics.IgnoreLayerCollision()
    Physics2D.GetIgnoreLayerCollision()
    Physics2D.GetLayerCollisionMask()
    Physics2D.SetLayerCollisionMask()
    Physics2D.IgnoreLayerCollision()
    PhysicsVisualizationSettings.GetShowCollisionLayer()
    PhysicsVisualizationSettings.SetShowCollisionLayer()
    RayTracingAABBsInstanceConfig.layer
    RayTracingGeometryInstanceConfig.layer
    RayTracingMeshInstanceConfig.layer
    Renderer.sortingLayerName
    Renderer.sortingLayerID
    Renderer.sortingOrder
    RenderParams.layer
    ScriptableCullingParameters.GetLayerCullingDistance()
    ScriptableCullingParameters.SetLayerCullingDistance()
    SortingGroup.sortingLayerName
    SortingGroup.sortingLayerID
    SortingGroup.sortingOrder
    SortingLayer.name
    SortingLayer.NameToID()
    SortingLayer.GetLayerValueFromName()
    SortingLayer.id
    SortingLayer.IDToName()
    SortingLayer.GetLayerValueFromID()
    SortingLayer.IsValid()
    SortingLayer.value
    TagHandle.GetExistingTag()
    Animation.this[]
    Animation.Blend()
    Animation.CrossFade()
    Animation.CrossFadeQueued()
    Animation.GetClip()
    Animation.IsPlaying()
    Animation.Play()
    Animation.PlayQueued()
    Animation.RemoveClip()
    Animation.Rewind()
    Animation.Stop()
    AnimationEvent.functionName
    AnimationLayerMixerPlayable.IsLayerAdditive()
    AnimationLayerMixerPlayable.SetLayerAdditive()
    AnimationLayerMixerPlayable.SetLayerMaskFromAvatarMask()
    AnimationState.name
    Animator.CrossFade()
    Animator.CrossFadeInFixedTime()
    Animator.Play()
    Animator.PlayInFixedTime()
    Animator.GetAnimatorTransitionInfo()
    Animator.GetBehaviours()
    Animator.GetCurrentAnimatorClipInfo()
    Animator.GetCurrentAnimatorClipInfoCount()
    Animator.GetCurrentAnimationClipState()
    Animator.GetCurrentAnimatorStateInfo()
    Animator.GetLayerName()
    Animator.GetLayerWeight()
    Animator.GetNextAnimatorClipInfo()
    Animator.GetNextAnimatorClipInfoCount()
    Animator.GetNextAnimationClipState()
    Animator.GetNextAnimatorStateInfo()
    Animator.HasState()
    Animator.IsInTransition()
    Animator.SetLayerWeight()
    Animator.GetLayerIndex()
    Animator.GetBehaviour()
    Animator.GetBool()
    Animator.GetFloat()
    Animator.GetInteger()
    Animator.IsParameterControlledByCurve()
    Animator.ResetTrigger()
    Animator.SetBool()
    Animator.SetFloat()
    Animator.SetInteger()
    Animator.SetTrigger()
    Animator.GetParameter()
    AnimatorCondition.parameter
    AnimatorController.AddEffectiveStateMachineBehaviour()
    AnimatorController.AddMotion()
    AnimatorController.CreateBlendTreeInController()
    AnimatorController.GetStateEffectiveBehaviours()
    AnimatorController.GetStateEffectiveMotion()
    AnimatorController.SetStateEffectiveBehaviours()
    AnimatorController.SetStateEffectiveMotion()
    AnimatorController.GetBehaviours()
    AnimatorController.RemoveLayer()
    AnimatorController.RemoveParameter()
    AnimatorControllerLayer.name
    AnimatorControllerLayer.syncedLayerIndex
    AnimatorControllerParameter.name
    AnimatorControllerParameter.nameHash
    AnimatorControllerPlayable.CrossFade()
    AnimatorControllerPlayable.CrossFadeInFixedTime()
    AnimatorControllerPlayable.Play()
    AnimatorControllerPlayable.PlayInFixedTime()
    AnimatorControllerPlayable.GetAnimatorTransitionInfo()
    AnimatorControllerPlayable.GetCurrentAnimatorClipInfo()
    AnimatorControllerPlayable.GetCurrentAnimatorClipInfoCount()
    AnimatorControllerPlayable.GetCurrentAnimatorStateInfo()
    AnimatorControllerPlayable.GetLayerName()
    AnimatorControllerPlayable.GetLayerWeight()
    AnimatorControllerPlayable.GetNextAnimatorClipInfo()
    AnimatorControllerPlayable.GetNextAnimatorClipInfoCount()
    AnimatorControllerPlayable.GetNextAnimatorStateInfo()
    AnimatorControllerPlayable.HasState()
    AnimatorControllerPlayable.IsInTransition()
    AnimatorControllerPlayable.SetLayerWeight()
    AnimatorControllerPlayable.GetLayerIndex()
    AnimatorControllerPlayable.GetBool()
    AnimatorControllerPlayable.GetFloat()
    AnimatorControllerPlayable.GetInteger()
    AnimatorControllerPlayable.IsParameterControlledByCurve()
    AnimatorControllerPlayable.ResetTrigger()
    AnimatorControllerPlayable.SetBool()
    AnimatorControllerPlayable.SetFloat()
    AnimatorControllerPlayable.SetInteger()
    AnimatorControllerPlayable.SetTrigger()
    AnimatorControllerPlayable.GetParameter()
    AnimatorOverrideController.this[]
    AnimatorState.cycleOffsetParameter
    AnimatorState.mirrorParameter
    AnimatorState.speedParameter
    AnimatorState.timeParameter
    AnimatorState.tag
    AnimatorState.nameHash
    AnimatorState.AddStateMachineBehaviour()
    AnimatorStateInfo.IsName()
    AnimatorStateInfo.IsTag()
    AnimatorStateInfo.fullPathHash
    AnimatorStateInfo.shortNameHash
    AnimatorStateInfo.tagHash
    AnimatorStateMachine.AddStateMachineBehaviour()
    AnimatorTransitionBase.AddCondition()
    AnimatorTransitionInfo.IsName()
    AnimatorTransitionInfo.IsUserName()
    AnimatorTransitionInfo.fullPathHash
    AnimatorTransitionInfo.nameHash
    AnimatorTransitionInfo.userNameHash
    BlendTree.blendParameter
    BlendTree.blendParameterY
    ChildMotion.directBlendParameter
    Component.GetComponent()
    Component.GetComponents()
    Component.TryGetComponent()
    Component.GetComponentInChildren()
    Component.GetComponentsInChildren()
    Component.GetComponentInParent()
    Component.GetComponentsInParent()
    EditorPrefs.DeleteKey()
    EditorPrefs.GetBool()
    EditorPrefs.GetFloat()
    EditorPrefs.GetInt()
    EditorPrefs.GetString()
    EditorPrefs.HasKey()
    EditorPrefs.SetBool()
    EditorPrefs.SetFloat()
    EditorPrefs.SetInt()
    EditorPrefs.SetString()
    GameObject.GetComponent()
    GameObject.GetComponents()
    GameObject.TryGetComponent()
    GameObject.GetComponentAtIndex()
    GameObject.GetComponentInChildren()
    GameObject.GetComponentsInChildren()
    GameObject.GetComponentInParent()
    GameObject.GetComponentsInParent()
    GameObjectRecorder.BindComponent()
    GameObjectRecorder.BindComponentsOfType()
    HumanBone.humanName
    HumanTrait.BoneFromMuscle()
    HumanTrait.GetBoneDefaultHierarchyMass()
    HumanTrait.GetMuscleDefaultMax()
    HumanTrait.GetMuscleDefaultMin()
    HumanTrait.GetParentBone()
    HumanTrait.MuscleFromBone()
    HumanTrait.RequiredBone()
    PlayerPrefs.DeleteKey()
    PlayerPrefs.GetFloat()
    PlayerPrefs.GetInt()
    PlayerPrefs.GetString()
    PlayerPrefs.HasKey()
    PlayerPrefs.SetFloat()
    PlayerPrefs.SetInt()
    PlayerPrefs.SetString()
    StateMachineBehaviour.OnStateEnter()
    StateMachineBehaviour.OnStateExit()
    StateMachineBehaviour.OnStateIK()
    StateMachineBehaviour.OnStateMove()
    StateMachineBehaviour.OnStateUpdate()
    StateMachineBehaviourContext.layerIndex
    Transform.Find()
    Transform.FindChild()
    Transform.GetChild()
  • Inline Visuals

    Displays visual information about your scene data and assets.

    Visual Studio VS Code
    Feature Lite Full Lite Full
    Color Picker (for hex code)
    Script fields (Inspector data)
    BatchFilterSettings.layer
    EditorGUILayout.LayerField()
    GameObject.layer
    Input.GetAxis()
    Input.GetAxisRaw()
    Input.GetButton()
    Input.GetButtonUp()
    Input.GetButtonDown()
    Input.GetKey()
    Input.GetKeyUp()
    Input.GetKeyDown()
    Input.GetMouseButton()
    Input.GetMouseButtonDown()
    Input.GetMouseButtonUp()
    InputWrapper.GetAxisRaw()
    InputWrapper.GetButtonDown()
    InputWrapper.GetMouseButton()
    InputWrapper.GetMouseButtonDown()
    InputWrapper.GetMouseButtonUp()
    LayerMask.LayerToName()
    Physics.GetIgnoreLayerCollision()
    Physics.IgnoreLayerCollision()
    Physics2D.GetIgnoreLayerCollision()
    Physics2D.GetLayerCollisionMask()
    Physics2D.SetLayerCollisionMask()
    Physics2D.IgnoreLayerCollision()
    PhysicsVisualizationSettings.GetShowCollisionLayer()
    PhysicsVisualizationSettings.SetShowCollisionLayer()
    RayTracingAABBsInstanceConfig.layer
    RayTracingGeometryInstanceConfig.layer
    RayTracingMeshInstanceConfig.layer
    RenderParams.layer
    ScriptableCullingParameters.GetLayerCullingDistance()
    ScriptableCullingParameters.SetLayerCullingDistance()
    AnimationLayerMixerPlayable.IsLayerAdditive()
    AnimationLayerMixerPlayable.SetLayerAdditive()
    AnimationLayerMixerPlayable.SetLayerMaskFromAvatarMask()
    Animator.CrossFade()
    Animator.CrossFadeInFixedTime()
    Animator.Play()
    Animator.PlayInFixedTime()
    Animator.GetAnimatorTransitionInfo()
    Animator.GetCurrentAnimatorClipInfo()
    Animator.GetCurrentAnimatorClipInfoCount()
    Animator.GetCurrentAnimationClipState()
    Animator.GetCurrentAnimatorStateInfo()
    Animator.GetLayerName()
    Animator.GetLayerWeight()
    Animator.GetNextAnimatorClipInfo()
    Animator.GetNextAnimatorClipInfoCount()
    Animator.GetNextAnimationClipState()
    Animator.GetNextAnimatorStateInfo()
    Animator.HasState()
    Animator.IsInTransition()
    Animator.SetLayerWeight()
    Animator.GetBool()
    Animator.GetFloat()
    Animator.GetInteger()
    Animator.IsParameterControlledByCurve()
    Animator.ResetTrigger()
    Animator.SetBool()
    Animator.SetFloat()
    Animator.SetInteger()
    Animator.SetTrigger()
    Animator.GetParameter()
    AnimatorController.RemoveLayer()
    AnimatorController.RemoveParameter()
    AnimatorControllerLayer.syncedLayerIndex
    AnimatorControllerParameter.nameHash
    AnimatorControllerPlayable.CrossFade()
    AnimatorControllerPlayable.CrossFadeInFixedTime()
    AnimatorControllerPlayable.Play()
    AnimatorControllerPlayable.PlayInFixedTime()
    AnimatorControllerPlayable.GetAnimatorTransitionInfo()
    AnimatorControllerPlayable.GetCurrentAnimatorClipInfo()
    AnimatorControllerPlayable.GetCurrentAnimatorClipInfoCount()
    AnimatorControllerPlayable.GetCurrentAnimatorStateInfo()
    AnimatorControllerPlayable.GetLayerName()
    AnimatorControllerPlayable.GetLayerWeight()
    AnimatorControllerPlayable.GetNextAnimatorClipInfo()
    AnimatorControllerPlayable.GetNextAnimatorClipInfoCount()
    AnimatorControllerPlayable.GetNextAnimatorStateInfo()
    AnimatorControllerPlayable.HasState()
    AnimatorControllerPlayable.IsInTransition()
    AnimatorControllerPlayable.SetLayerWeight()
    AnimatorControllerPlayable.GetBool()
    AnimatorControllerPlayable.GetFloat()
    AnimatorControllerPlayable.GetInteger()
    AnimatorControllerPlayable.IsParameterControlledByCurve()
    AnimatorControllerPlayable.ResetTrigger()
    AnimatorControllerPlayable.SetBool()
    AnimatorControllerPlayable.SetFloat()
    AnimatorControllerPlayable.SetInteger()
    AnimatorControllerPlayable.SetTrigger()
    AnimatorControllerPlayable.GetParameter()
    AnimatorState.nameHash
    AnimatorStateInfo.fullPathHash
    AnimatorStateInfo.shortNameHash
    AnimatorStateInfo.tagHash
    AnimatorTransitionInfo.fullPathHash
    AnimatorTransitionInfo.nameHash
    AnimatorTransitionInfo.userNameHash
    EditorPrefs.DeleteKey()
    EditorPrefs.GetBool()
    EditorPrefs.GetFloat()
    EditorPrefs.GetInt()
    EditorPrefs.GetString()
    EditorPrefs.HasKey()
    EditorPrefs.SetBool()
    EditorPrefs.SetFloat()
    EditorPrefs.SetInt()
    EditorPrefs.SetString()
    HumanTrait.BoneFromMuscle()
    HumanTrait.GetBoneDefaultHierarchyMass()
    HumanTrait.GetMuscleDefaultMax()
    HumanTrait.GetMuscleDefaultMin()
    HumanTrait.GetParentBone()
    HumanTrait.MuscleFromBone()
    HumanTrait.RequiredBone()
    PlayerPrefs.DeleteKey()
    PlayerPrefs.GetFloat()
    PlayerPrefs.GetInt()
    PlayerPrefs.GetString()
    PlayerPrefs.HasKey()
    PlayerPrefs.SetFloat()
    PlayerPrefs.SetInt()
    PlayerPrefs.SetString()
    StateMachineBehaviourContext.layerIndex
    Transform.GetChild()
    Transform.parent
  • Code Analyzers

    Additional analyzers on top of the default ones (Microsoft.Unity.Analyzers), which are focused on memory and CPU utilization.

    Visual Studio VS Code
    Feature Lite Full Lite Full
    Distance comparison
    String builder
    Reciprocal
  • Code Transformers

    Apply common design patterns to your code base instantly.

    Visual Studio VS Code
    Feature Lite Full Lite Full
    Auto Input Manager
    Procedural LINQ
  • Generative AI

    Use OpenAI ChatGPT to generate context aware code.

    Visual Studio VS Code
    Feature Lite Full Lite Full
    Comment to prompt
    CodeLens to prompt

Requirements

Unity 2020.2 and newer
Visual Studio 2022