> If you don't have Visual Studio set up, see [[Visual Studio Setup]]
The first step in creating an application is the [[Client]], which handles creating a window, initialising an OpenGL context, and receiving mouse and keyboard input.
This class is abstract, meaning you'll need to derive your own class from it:
```cs
public class ExampleClient : Client
{
protected override int InitialWindowWidth => 1280;
protected override int InitialWindowHeight => 720;
}
```
Then in your `Main` function, you can create a client and run it:
```cs
internal class Program
{
static void Main()
{
var client = new ExampleClient();
// Run forever
client.Run();
}
}
```
This will make an empty window appear.
From here we can either:
- [[Shaders|Render shaders]]
- [[Drawing UI|Draw UI]]
- [[Mouse and Keyboard Input|Handle mouse and keyboard input]]
- [[Animation|Create an Animation]]