> For the complete documentation index, see [llms.txt](https://kinematicsoup.gitbook.io/reactor/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kinematicsoup.gitbook.io/reactor/api-reference/ks.unity.editor.md).

# KS.Unity.Editor

### Classes

[ksAnalytics.Events](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksanalytics/ks.unity.editor.ksanalytics.events.md)

Analytics event names

[ksAnalytics](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksanalytics.md)

Class for sending analytics events. This is intended for internal use only.

[ksAssetStorePackageUpdater\<T>](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksassetstorepackageupdater-1.md)

Base class for checking for updates and prompting users to apply the update to an asset store package.

[ksAuthenticatedMenu](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksauthenticatedmenu.md)

Base class for menus that require users to be logged in.

[ksBaseLoginMenu\<T>](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksbaseloginmenu-1.md)

Kinematicsoup Service Login GUI

[ksBasePackageUpdater\<T>](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksbasepackageupdater-1.md)

Base class for checking for updates and prompting users to apply the update to a package. Inherits from so there will only be one instance of each derived class that will survive Unity serialization from play mode and recompiles.

[ksDictionaryDrawer](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksdictionarydrawer.md)

Custom property drawer for

[ksEditorEvents](/reactor/api-reference/ks.unity.editor/ks.unity.editor.kseditorevents.md)

Useful editor events that Unity doesn't provide.

[ksEditorUtils](/reactor/api-reference/ks.unity.editor/ks.unity.editor.kseditorutils.md)

Editor utilities

[ksEditorWebService](/reactor/api-reference/ks.unity.editor/ks.unity.editor.kseditorwebservice.md)

This class is used to manage KinematicSoup web service requests and login state

[ksFileWatcher](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksfilewatcher.md)

Convenience wrapper of .

[ksGitPackageUpdater\<T>](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksgitpackageupdater-1.md)

Base class for checking for updates and prompting users to apply the update to a git package.

[ksIconUtility](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksiconutility.md)

Utility for setting icons for Unity objects. Uses reflection to call a Unity private method because Unity does not expose icons to the API. Icons set with this utility are not saved and will be cleared when Unity is closed or when the script's code changes, so the icons need to be set each time Unity loads.

[ksInspectorStateMap\<State, Self>](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksinspectorstatemap-2.md)

This can be used by property drawers and custom inspectors to store per-property custom state that persists through Unity serializations. The state is not saved to disk so it only persists as long as Unity is open. A property is indentified by its name and the name of the script is belongs to.

This class inherits from , so it should be accessed using the singleton accessor .

[ksOverrideEditor](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksoverrideeditor.md)

Base class that enables Reactor to define new editors which extend or override the rendering of Unity inspector editors.

[ksPathUtils](/reactor/api-reference/ks.unity.editor/ks.unity.editor.kspathutils.md)

Path utility functions

[ksProcessUtils](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksprocessutils.md)

Provides a utility function for starting a minimized process window that does not steal focus on Windows using p-invoke. On other platforms, starts the process normally. <https://docs.microsoft.com/en-us/windows/win32/procthread/creating-processes>

[ksProjectInfo](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksprojectinfo.md)

Contains information about a project.

[ksReflectionObject](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksreflectionobject.md)

Convencience class for accessing reflection data for an object, property, field, or type. When a reflection error occurs, an error is logged and a void reflection object is returned. All calls on void reflection objects return void reflection objects.

[ksScriptUpdater](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksscriptupdater.md)

Utility for searching and replacing regex patterns in files.

[ksScrollArea](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksscrollarea.md)

A scroll area that can detect if the vertical and horizontal scroll bars are showing. For it to work properly, the last rect drawn in the scroll area must be the lowest and right-most rect in the scroll area.

[ksSingleton\<T>](/reactor/api-reference/ks.unity.editor/ks.unity.editor.kssingleton-1.md)

Base class for scriptable object singletons that survive Unity serialization. These do not persist when Unity closes. It's not safe to access these until Unity deserialization is finished. `T` should be the class that inherits this.

[ksStyle](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksstyle.md)

Common styles used in our Unity GUIs.

[ksVersionDrawer](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksversiondrawer.md)

Custom property drawer for .

[ksWindow](/reactor/api-reference/ks.unity.editor/ks.unity.editor.kswindow.md)

Editor window the uses an interface to create the GUI. Swapping the interface allows for switching GUIs without having to create a new window for the new GUI.

### Interfaces

[ksIMenu](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksimenu.md)

Menu interface for creating GUIs for the class.

### Enums

[ksFileWatcher.Flags](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksfilewatcher/ks.unity.editor.ksfilewatcher.flags.md)

Flags for configuaring the file system watcher

[ksIconUtility.Icon](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksiconutility/ks.unity.editor.ksiconutility.icon.md)

Unity icons

[ksPathUtils.LoggingFlags](/reactor/api-reference/ks.unity.editor/ks.unity.editor.kspathutils/ks.unity.editor.kspathutils.loggingflags.md)

Types of log messages to log.

[ksWindow.WindowStyle](/reactor/api-reference/ks.unity.editor/ks.unity.editor.kswindow/ks.unity.editor.kswindow.windowstyle.md)

Window display styles

### Delegates

[ksEditorEvents.CompileStartHandler](/reactor/api-reference/ks.unity.editor/ks.unity.editor.kseditorevents/ks.unity.editor.kseditorevents.compilestarthandler.md)

Compile start event handler.

[ksWindow.CreateCallback](/reactor/api-reference/ks.unity.editor/ks.unity.editor.kswindow/ks.unity.editor.kswindow.createcallback.md)

Callback to call when a window is created.

[ksEditorEvents.FocusChangeHandler](/reactor/api-reference/ks.unity.editor/ks.unity.editor.kseditorevents/ks.unity.editor.kseditorevents.focuschangehandler.md)

Focus change handler.

[ksEditorEvents.ImportAssetsHandler](/reactor/api-reference/ks.unity.editor/ks.unity.editor.kseditorevents/ks.unity.editor.kseditorevents.importassetshandler.md)

Import assets event handler.

[ksEditorWebService.RequestCallback](/reactor/api-reference/ks.unity.editor/ks.unity.editor.kseditorwebservice/ks.unity.editor.kseditorwebservice.requestcallback.md)

[ksBasePackageUpdater\<T>.UpdateCallback](/reactor/api-reference/ks.unity.editor/ks.unity.editor.ksbasepackageupdater-1/ks.unity.editor.ksbasepackageupdater-1.updatecallback.md)

Callback to invoke after an update check completes.
