> 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]]