UltraTerm is a real terminal emulator that runs natively inside of Unreal Engine, as well as a framework for developing text-based applications in C++ and Unreal’s Blueprint Visual Scripting system. UltraTerm is GPU accelerated, and is highly performant and resource efficient.
UltraTerm can be used by artists and developers to develop screen animations or truly interactive text-based user interfaces for use in film, games, or other software applications, and includes features such as:
TUI Framework: UltraTerm’s TUI (Text-based User Interface) application and widget framework is like a cross between ncurses and Unreal’s Slate/UMG widget system. It has been designed to facilitate the rapid development of elaborate interactive text-based user interfaces, both in Blueprint and C++, and features a dynamic layout system as well as a nested layer system with full alpha compositing.
Screen Effects: Access to a shader render chain allows users to inject and modify post-process effects (such as Materials that simulate a CRT screen) in real-time, and facilitates the easy development and implementation of additional effects using Unreal’s Material System.
Filter System: Filters are reusable text transformation components that can be added, removed, stacked, and modified on the fly. They modify the term cells of the ScreenObject they are attached to in some way, such as by changing the glyphs or colors, allowing for easy dynamic animation of text and colors at runtime.
UltraTerm can be run inside of a Slate or UMG widget and added directly to the viewport or nested inside of another widget, displayed on any mesh in a world using a Material, or run as an Editor Utility Widget to provide a full blown DEC VT100 terminal emulator right inside of Unreal Editor in order to run custom CLI editor tools or external console programs like Vim.
UltraTerm will eventually be released as a paid code plugin in the Unreal Marketplace, and currently there is also a free trial version planned (for personal use / indie devs).
This video is a highlight reel of various clips that were recorded over the past year of UltraTerm’s development. Development is ongoing and lot has changed over the past year, including a full rewrite of the base engine, so things like performance benchmarks are not set in stone.
Let’s do computer stuff together!
If you’d like to potentially take part in the closed alpha, or if you have any questions, feel free to drop by the Discord: https://discord.gg/XdSMcKQa5F
Frequent dev updates are posted to Twitter: https://twitter.com/UltraTerm
And less frequently to the blog: https://cybergem.net/blog/