Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>SuperBehaviour for UnityNew to Visual Studio Code? Get it now.
SuperBehaviour for Unity

SuperBehaviour for Unity

Preview

Lords of Mahlstrom Gaming

|
842 installs
| (2) | Free
Improve your development experience of Unity with SuperBehaviour, a set of snippets and tools to help you write code easier and faster.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

This is not an official product of Unity Technologies, please see the Unity Trademark Guidelines for more information.

SuperBehaviour for Unity is a powerful extension that provides time-saving snippets for Unity development. It includes specialized snippets for SuperBehaviour, seamless .meta file editing in VS Code (work in progress), and the ability to trigger script recompilation from the editor (work in progress). These features enhance the Unity development experience and streamline your workflow.

Features

  • Snippets for Unity classes and functions: SuperBehaviour for Unity provides a collection of snippets specifically tailored for Unity development. These snippets can be easily accessed and inserted into your code, saving you time and effort when writing repetitive Unity code.

  • Snippets for SuperBehaviour: In addition to the standard Unity snippets, this extension includes a set of snippets specifically designed for SuperBehaviour. These snippets allow you to quickly implement SuperBehaviour-specific functionality and take full advantage of its enhanced features. Also, the snippets include automatic namespace insertion for all our snippets!

  • Recompile from the VS Code editor: Another feature of SuperBehaviour for Unity is the ability to trigger recompilation of your Unity scripts directly from the VS Code editor. This functionality aims to reduce the need for switching between Unity and VS Code during development, providing a more streamlined coding experience. (SuperBehaviour 0.0.6 or higher required)

Please note that the WIP features mentioned above are still in development and may not be fully functional or available in the current version of the extension. We appreciate your patience as we work towards implementing these features and providing an enhanced Unity development experience.

Requirements

To use SuperBehaviour for Unity, ensure that the following requirements are met:

  • Unity package from Microsoft (v 0.9.4 or higher): This extension is designed to work with the official Unity package from Microsoft. Ensure that you have the latest version of the Unity package installed in your Visual Studio Code editor to take full advantage of the features provided by SuperBehaviour for Unity.

  • SuperBehaviour Unity Package (v0.6.0 or higher) Even though this extension is designed to work with any Unity project, it is optimized for use with the SuperBehaviour Unity package. To take full advantage of the features provided by SuperBehaviour for Unity, we recommend using the SuperBehaviour package in your Unity project.

Additionally, SuperBehaviour for Unity is designed to replace the following extensions:

  • Unity Tools: SuperBehaviour for Unity provides enhanced tools and functionalities for Unity development. Therefore, you can remove the Unity Tools extension from your Visual Studio Code editor.

  • Unity Code Snippets: SuperBehaviour for Unity includes a comprehensive collection of Unity code snippets, making the Unity Code Snippets extension redundant. You can uninstall the Unity Code Snippets extension if you have it installed.

By removing these extensions and utilizing SuperBehaviour for Unity, you can consolidate your Unity development workflow within a single extension, enhancing productivity and reducing clutter in your editor.

Extension Settings

SuperBehaviour for Unity does not currently provide any extension settings.

We are working on implementing some extension settings for SuperBehaviour for Unity, so stay tuned for updates!

Known Issues

SuperBehaviour for Unity is still in development and may contain bugs or issues. If you encounter any problems with this extension, please report them to us via Service Desk and we will work to resolve it as soon as possible.

Join our Discord server to chat with other users and get the latest updates on SuperBehaviour for Unity! https://discord.gg/93fUfVbFQw

Snippets

NEW: Support for automatic namespace insertion for all snippets! When you insert a snippet, the namespace will be automatically added to the top of your file.

For a full list of all snippets included in SuperBehaviour for Unity, please refer to the table below. The table includes the snippet name, the class/function it applies to, and the snippet prefix used to insert it into your code.

  • Behaviours:

    • SuperBehaviour [Unity]: MonoBehaviour, SuperBehaviour
    • SingletonBehaviour [Unity]: SingletonBehaviour, SuperBehaviourSingleton
    • SingletonBehaviour DDOL [Unity]: SingletonBehaviourDontDestroyOnLoad
    • StateMachineBehaviour [Unity]: StateMachineBehaviour
    • NetworkBehaviour [Unity]: NetworkBehaviour
  • ScriptableObjects:

    • ScriptableObject [Unity]: ScriptableObject
  • Class:

    • Class [C#]: class, publicclass, classpublic
    • Class (private) [C#]: classprivate, privateclass
    • Class (static) [C#]: classstatic, staticclass
    • Class (abstract) [C#]: classabstract, abstractclass
    • Class (generic) [C#]: classgeneric, genericclass
  • Interface:

    • Interface [C#]: interface
  • Struct:

    • Struct [C#]: struct
  • Enum:

    • Enum [C#]: enum
    • Enum (flags) [C#]: enumflags
    • Enum With Extension Class [C#]: enumwithextension
    • Enum (extension) [C#]: enumextension
  • Editor:

    • Editor [Unity Editor]: SuperEditor, Editor, Inspector
    • Editor with Field List [Unity Editor]: EditorFieldList, InspectorFieldList
    • Editor with Property List [Unity Editor]: EditorPropertyList, InspectorPropertyList
    • EditorWindow [Unity Editor]: EditorWindow
    • PropertyDrawer [Unity Editor]: PropertyDrawer
    • ScriptableWizard [Unity Editor]: ScriptableWizard
  • MonoBehaviour Functions:

    • Singleton [MonoBehaviour]: _Singleton()
    • Awake [MonoBehaviour]: Awake()
    • FixedUpdate [MonoBehaviour]: FixedUpdate()
    • LateUpdate [MonoBehaviour]: LateUpdate()
    • OnAnimatorIK [MonoBehaviour]: OnAnimatorIK(int)
    • OnAnimatorMove [MonoBehaviour]: OnAnimatorMove()
    • OnApplicationFocus [MonoBehaviour]: OnApplicationFocus(bool)
    • OnApplicationPause [MonoBehaviour]: OnApplicationPause(bool)
    • OnApplicationQuit [MonoBehaviour]: OnApplicationQuit()
    • OnAudioFilterRead [MonoBehaviour]: OnAudioFilterRead(float[], int)
    • OnBecameInvisible [MonoBehaviour]: OnBecameInvisible()
    • OnBecameVisible [MonoBehaviour]: OnBecameVisible()
    • OnCollisionEnter [MonoBehaviour]: OnCollisionEnter(Collision)
    • OnCollisionEnter2D [MonoBehaviour]: OnCollisionEnter2D(Collision2D)
    • OnCollisionExit [MonoBehaviour]: OnCollisionExit(Collision)
    • OnCollisionExit2D [MonoBehaviour]: OnCollisionExit2D(Collision2D)
    • OnCollisionStay [MonoBehaviour]: OnCollisionStay(Collision)
    • OnCollisionStay2D [MonoBehaviour]: OnCollisionStay2D(Collision2D)
    • OnConnectedToServer [MonoBehaviour]: OnConnectedToServer()
    • OnControllerColliderHit [MonoBehaviour]: OnControllerColliderHit(ControllerColliderHit)
    • OnDestroy [MonoBehaviour]: OnDestroy()
    • OnDisable [MonoBehaviour]: OnDisable()
    • OnDisconnectedFromServer [MonoBehaviour]: OnDisconnectedFromServer(NetworkDisconnection)
    • OnDrawGizmos [MonoBehaviour]: OnDrawGizmos()
    • OnDrawGizmosSelected [MonoBehaviour]: OnDrawGizmosSelected()
    • OnEnable [MonoBehaviour]: OnEnable()
    • OnFailedToConnect [MonoBehaviour]: OnFailedToConnect(NetworkConnectionError)
    • OnFailedToConnectToMasterServer [MonoBehaviour]: OnFailedToConnectToMasterServer(NetworkConnectionError)
    • OnGUI [MonoBehaviour]: OnGUI()
    • OnJointBreak [MonoBehaviour]: OnJointBreak(float)
    • OnJointBreak2D [MonoBehaviour]: OnJointBreak2D(Joint2D)
    • OnMasterServerEvent [MonoBehaviour]: OnMasterServerEvent(MasterServerEvent)
    • OnMouseDown [MonoBehaviour]: OnMouseDown()
    • OnMouseDrag [MonoBehaviour]: OnMouseDrag()
    • OnMouseEnter [MonoBehaviour]: OnMouseEnter()
    • OnMouseExit [MonoBehaviour]: OnMouseExit()
    • OnMouseOver [MonoBehaviour]: OnMouseOver()
    • OnMouseUp [MonoBehaviour]: OnMouseUp()
    • OnMouseUpAsButton [MonoBehaviour]: OnMouseUpAsButton()
    • OnNetworkInstantiate [MonoBehaviour]: OnNetworkInstantiate(NetworkMessageInfo)
    • OnParticleCollision [MonoBehaviour]: OnParticleCollision(GameObject)
    • OnParticleSystemStopped [MonoBehaviour]: OnParticleSystemStopped()
    • OnParticleTrigger [MonoBehaviour]: OnParticleTrigger()
    • OnPlayerConnected [MonoBehaviour]: OnPlayerConnected(NetworkPlayer)
    • OnPlayerDisconnected [MonoBehaviour]: OnPlayerDisconnected(NetworkPlayer)
    • OnPostRender [MonoBehaviour]: OnPostRender()
    • OnPreCull [MonoBehaviour]: OnPreCull()
    • OnPreRender [MonoBehaviour]: OnPreRender()
    • OnRenderImage [MonoBehaviour]: OnRenderImage(RenderTexture, RenderTexture)
    • OnRenderObject [MonoBehaviour]: OnRenderObject()
    • OnSerializeNetworkView [MonoBehaviour]: OnSerializeNetworkView(BitStream, NetworkMessageInfo)
    • OnServerInitialized [MonoBehaviour]: OnServerInitialized()
    • OnTransformChildrenChanged [MonoBehaviour]: OnTransformChildrenChanged()
    • OnTransformParentChanged [MonoBehaviour]: OnTransformParentChanged()
    • OnTriggerEnter [MonoBehaviour]: OnTriggerEnter(Collider)
    • OnTriggerEnter2D [MonoBehaviour]: OnTriggerEnter2D(Collider2D)
    • OnTriggerExit [MonoBehaviour]: OnTriggerExit(Collider)
    • OnTriggerExit2D [MonoBehaviour]: OnTriggerExit2D(Collider2D)
    • OnTriggerStay [MonoBehaviour]: OnTriggerStay(Collider)
    • OnTriggerStay2D [MonoBehaviour]: OnTriggerStay2D(Collider2D)
    • OnValidate [MonoBehaviour]: OnValidate()
    • OnWillRenderObject [MonoBehaviour]: OnWillRenderObject()
    • Reset [MonoBehaviour]: Reset()
    • Start [MonoBehaviour]: Start()
    • Update [MonoBehaviour]: Update()
  • StateMachineBehaviour Functions:

    • OnStateEnter [StateMachineBehaviour]: OnStateEnter()
    • OnStateExit [StateMachineBehaviour]: OnStateExit()
    • OnStateIK [StateMachineBehaviour]: OnStateIK()
    • OnStateMove [StateMachineBehaviour]: OnStateMove()
    • OnStateUpdate [StateMachineBehaviour]: OnStateUpdate()
  • Editor Functions:

    • OnSceneGUI [Editor]: OnSceneGUI()
    • OnInspectorFieldsGUI [SuperEditor]: OnInspectorFieldsGUI()
    • OnInspectorPropertiesGUI [SuperEditor]: OnInspectorPropertiesGUI()
  • EditorWindow Functions:

    • OnFocus [EditorWindow]: OnFocus()
    • OnHierarchyChange [EditorWindow]: OnHierarchyChange()
    • OnInspectorUpdate [EditorWindow]: OnInspectorUpdate()
    • OnLostFocus [EditorWindow]: OnLostFocus()
    • OnProjectChange [EditorWindow]: OnProjectChange()
    • OnSelectionChange [EditorWindow]: OnSelectionChange()
  • ScriptableWizard Functions:

    • OnWizardCreate [ScriptableWizard]: OnWizardCreate()
    • OnWizardOtherButton [ScriptableWizard]: OnWizardOtherButton()
    • OnWizardUpdate [ScriptableWizard]: OnWizardUpdate()
  • Debug Functions:

    • Debug Log: Log
    • Debug Log Error: LogError
    • Debug Log Warning: LogWarning
    • Debug Log Exception: LogException
    • Debug LogFormat: LogFormat
    • Debug LogErrorFormat: LogErrorFormat
    • Debug LogWarningFormat: LogWarningFormat
    • Debug DrawLine: DrawLine
    • Debug DrawRay: DrawRay
  • Basic C# Functions:

    • Extension Method: Extension()
  • Unity Functions:

    • Quit [Application]: QuitApplication()

Unity Package Documentation

Visit the Unity Package Documentation for more information on how to use SuperBehaviour for Unity.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft