Show / Hide Table of Contents

# Interface IPlugin

Interface for generic Illusion unity plugins. Every class that implements this will be loaded if the DLL is placed at data/Managed/Plugins.

###### Namespace: IPA.Old

###### Assembly: IPA.Loader.dll

##### Syntax

    [Obsolete("When building plugins for Beat Saber, use IBeatSaberPlugin")]
    public interface IPlugin

### Properties

| Improve this Doc View Source

#### Name

Gets the name of the plugin.

##### Declaration

    string Name { get; }

##### Property Value

Type | Description
--- | ---
String |

| Improve this Doc View Source

#### Version

Gets the version of the plugin.

##### Declaration

    string Version { get; }

##### Property Value

Type | Description
--- | ---
String |

### Methods

| Improve this Doc View Source

#### OnApplicationQuit()

Gets invoked when the application is closed.

##### Declaration

    void OnApplicationQuit()

| Improve this Doc View Source

#### OnApplicationStart()

Gets invoked when the application is started.

##### Declaration

    void OnApplicationStart()

| Improve this Doc View Source

#### OnFixedUpdate()

Gets invoked on ever physics update.

##### Declaration

    void OnFixedUpdate()

| Improve this Doc View Source

#### OnLevelWasInitialized(Int32)

Gets invoked after the first update cycle after a level was loaded.

##### Declaration

    void OnLevelWasInitialized(int level)

##### Parameters

Type | Name | Description
--- | --- | ---
Int32 | level |

| Improve this Doc View Source

#### OnLevelWasLoaded(Int32)

Gets invoked whenever a level is loaded.

##### Declaration

    void OnLevelWasLoaded(int level)

##### Parameters

Type | Name | Description
--- | --- | ---
Int32 | level |

| Improve this Doc View Source

#### OnUpdate()

Gets invoked on every graphic update.

##### Declaration

    void OnUpdate()

### Extension Methods

ReflectionUtil.SetPrivateField(Object, String, Object)
ReflectionUtil.GetPrivateField<T>(Object, String)
ReflectionUtil.SetPrivateProperty(Object, String, Object)
ReflectionUtil.InvokePrivateMethod(Object, String, Object[])
ReflectionUtil.InvokePrivateMethod<T>(Object, String, Object[])