Overview
DarkEffekt Terminal is terminal emulation and rendering for Unity. It runs a real VT and xterm terminal inside a Unity project and shows it on a screen in a 3D scene or a flat uGUI panel, driven from the keyboard, the mouse, or a camera ray.
It comes apart into four parts you can use together or on their own:
- The emulator is the terminal itself: it parses the VT and xterm escape protocol, keeps the screen grid and scrollback, and holds the cursor, colors, and modes. It has no dependency on UnityEngine, so you can drive your own renderer from it, or run it headless in a test.
- The renderer draws an emulator’s screen into a RenderTexture at exact integer cell metrics, which keeps the glyphs free of subpixel shimmer. The texture is yours to show anywhere.
- The screens present that texture. A scene screen puts it on a mesh and maps a camera ray to a cell; a uGUI screen puts it in a canvas. Any number of screens can present one session at once, each with its own screen type.
- The interface framework builds full-screen interfaces from panels and controls. An interface draws its cells straight to the screen, or writes them as escape sequences through a connection.
A Terminal Session component ties them together: one emulator, one connection, and one renderer, with input routed from whichever screen has focus.
What it is for
Section titled “What it is for”- A working terminal on a prop in a game, a computer on a desk, a console on a wall, that a player types at or points at.
- A live client for a text protocol: point it at a telnet host, a MUD, or a server of your own and drive that session on screen.
- An in-game shell or console for your own game, hosted in the same process.
- A full-screen interface of menus, gauges, and live camera feeds, built from elements and drawn straight to the screen.
- A retro or sci-fi display, with CRT curvature, scanlines, phosphor glow, and aperture grille, or a clean flat panel.
- A screen that reacts to the game: it switches on when the player sits down, rolls and breaks up when the signal fails, and cracks where it is hit.
What drives it
Section titled “What drives it”The terminal shows what you feed it: a network connection, an in-process
program, or your own writes. To run an operating-system shell on desktop, start
the process yourself and bridge its standard streams through
ITerminalConnection.
Input comes from the keyboard and the mouse. For a gamepad or any other source, call the session’s methods that send text, keys, and mouse events.
- Installation adds the package to a project.
- Quick start puts a working terminal on screen.
- What to use when picks between the connections, programs, screens, and sizing controls.