---
description: On this page we will explain the concept of entry points.
---

# Concept of Entry Points

The concept of entry points is quite simple: You cannot access the Onsharp API statically, so you need some kind of "entry points". Therefore we want to introduce the interface `Onsharp.IEntryPoint` . An entry point will be initialized automatically when the plugin gets loaded, and you can access specific parts of the Onsharp API with these entry points. A plugin main class is extending the entry point and offers the access to the rest of the Onsharp API. Here is a list of features the entry points are offering:

* Access to the API for the plugin management
* Access to the `Onsharp.IServer` interface of the current plugin
* Access to the `Onsharp.Native.IRuntime` interface to control the Onsharp runtime
* Entry Points are automatically registers as holder for [console commands](../advance-usage/create-console-commands), [ingame commands](create-commands), [exportables](../advance-usage/interop-of-lua-and-vice-versa) as well as [server and remote events](the-eventapi-of-onsharp)

