Legacy Documentation: Version 2018.1 (Go to current version)
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Experimental: this API is experimental and might be changed or removed in the future.


class in UnityEditor.Experimental.U2D


Implemented in:UnityEditor

Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.




Base class the Sprite Editor Window custom module inherits from.

Sprite Editor Window functionality can be extended by providing custom module. By inheriting from SpriteEditorModuleBase, user will be able to activate the module's functionality from Sprite Editor Window.

no example available in JavaScript
using UnityEditor.Experimental.U2D;
using UnityEngine;

public class MySpriteEditorCustomModule : SpriteEditorModuleBase { // The name of the module that will be shown in Sprite Editor Window drop down menu public override string moduleName { get { return "MySpriteEditorCustomModule"; } }

// This is called when user clicks on the Apply or Revert button in Sprite Editor Window public override bool ApplyRevert(bool apply) { return true; }

// Indicates if the module can be activated with the current ISpriteEditor state public override bool CanBeActivated() { return true; }

// Called after SpriteEditorWindow drawn the sprite. // UnityEditor.Handles draw calls will operate in Texture space public override void DoMainGUI() {}

// Draw user tool bar public override void DoToolbarGUI(Rect drawArea) {}

// Called when the module is activated by user public override void OnModuleActivate() {}

// Called when user switches to another module public override void OnModuleDeactivate() {}

// Any last GUI draw. This is in the SpriteEditorWindow's space. // Any GUI draw will appear on top public override void DoPostGUI() {} }


moduleNameThe module name to display in Sprite Editor Window.
spriteEditorThe ISpriteEditor instance that instantiated the module.

Public Methods

ApplyRevertThis is called when user clicks on the Apply or Revert button in Sprite Editor Window.
CanBeActivatedIndicates if the module can be activated with the current ISpriteEditor state.
DoMainGUIImplement this to draw on the Sprite Editor Window.
DoPostGUIImplement this to draw widgets in Sprite Editor Window.
DoToolbarGUIImplement this to create a custom toolbar.
OnModuleActivateThis is called when the user activates the module.
OnModuleDeactivateThis is called when user switches to another module.

Did you find this page useful? Please give it a rating: