Build Beautiful Console UIs

Retr0GUI is a simple, powerful C# library for creating interactive console applications with menus, switches, input fields, tables, and more.

How It Works

Vertical Menu

Navigate options with arrow keys and select with ease

Toggle Switch

Create interactive yes/no toggles with left/right navigation

Input Fields

Support for text, passwords, and required field validation

Data Tables

Display and interact with tabular data in the console

Object Editor

Edit object properties with automatic UI generation

Customizable Styles

Full control over colors, formatting, and appearance

Core API Methods

VerticalMenu - Navigate between options with arrow keys
HorizontalSwitch - Toggle between two options (true/false)
InputField - Text input with optional password/validation
DrawTable - Display tabular data with styling
EditObject - Auto-generate UI for object properties

See It In Action

Retr0GUI Example

Interactive console UI example with menus and controls

Installation

Via NuGet Package

Install the package from GitHub using the NuGet CLI:

dotnet add package Retr0A.Retr0GUI --source https://nuget.pkg.github.com/Retr0Aa/index.json

Or add to your .csproj file:

<ItemGroup>
    <PackageReference Include="Retr0A.Retr0GUI" Version="*" />
</ItemGroup>

Basic Usage

using Retr0GUI;

// Create a vertical menu
string[] options = { "Option 1", "Option 2", "Option 3" };
int selected = GUIControls.VerticalMenu(
    "Choose an option",
    options,
    new ControlStyle() 
    { 
        TitleColor = ConsoleColor.Cyan,
        Underline = true 
    }
);

// Create a toggle switch
bool result = GUIControls.HorizontalSwitch(
    "Enable feature?",
    "Yes",
    "No",
    new ControlStyle()
);

// Create an input field
string name = GUIControls.InputField(
    "Enter your name",
    "Required field",
    new ControlStyle()
);

GitHub NuGet Setup

To authenticate with GitHub Packages, create a nuget.config file in your project root:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <add key="github" value="https://nuget.pkg.github.com/Retr0Aa/index.json" />
    </packageSources>
    <packageSourceCredentials>
        <github>
            <add key="Username" value="USERNAME" />
            <add key="ClearTextPassword" value="GITHUB_TOKEN" />
        </github>
    </packageSourceCredentials>
</configuration>

Generate a GitHub Personal Access Token with read:packages scope in your GitHub settings.

Ready to Build Amazing Console UIs?

Start using Retr0GUI today and create interactive console applications with ease.