Cosmos Console

Games often feature command consoles to serve as both a debug tool for developers, as well as a way to give players more control to customize game settings or manage game servers remotely.


Cosmos Console is inspired by Source engine games and its RCON protocol by providing a versatile command console that you can use directly from within your game, or remotely over the network via a client console. Easily create commands to assist your development and your game's players!


Support: Email, Documentation, Discord and Issue Tracker (used for both the asset and standalone app)


Example Use Cases for Developers

  • Debug tools
  • Trigger scripted actions
  • Debug mobile builds over the local network
  • Retrieve runtime application or device info

Example Use Cases for Players

  • Changing game settings
  • Inputting cheat codes
  • Remote game server management

Features

  • Send commands over the network by connecting to your game or game server remotely using another console, refer to the next section!
  • Design-centric approach to command setup, without using C# reflection. Define the commands in a console config asset and add callbacks in script to handle calls.
  • Powerful autocomplete that suggests commands and parameter values based on input, both for the console interface in Unity UI as well as for IMGUI version used by the editor window.
  • Remote login flow for controlling server console instances from the client: log in as a guest, or with a username and password. Passwords are encrypted with RSA when sent over the network.
  • LAN discovery: quickly find consoles running on your local network without having to manually enter IP addresses.
  • Command execution types: specify where commands can be called from and where they can be executed, with respect to server or client consoles.
  • Command privileges: specify which commands can be executed by a connected client console based on the user they logged in as.
  • Paramater validation to verify if the user inputs the right values.
  • Add or customize commands or parameters during runtime by using the straightforward API.
  • Easy to extend with new commands and custom paramater validation.
  • Highly customizable UI
  • Full source code included!

Remote Console

A Cosmos Console can run in server-mode or client-mode depending on the context. Your game or game server usually runs a server console instance. You can then use a client console remotely from either the Unity Editor or standalone app to connect to it. Any relevant command submitted to the client console is automatically forwarded to the server console! Multiple client consoles can be connected to a server console simultaniously.


This asset includes a client console editor window, and there is also a standalone console client freely available on Github. You can distribute the standalone client to players that want to manage their game servers remotely for example.


Sample scene

A sample FPS game is included that showcases a range of commands you could use and a Unity UI implementation of a console interface.


Third-party Notice

This asset uses LiteNetLib under MIT License and the Roboto Mono font under Apache 2.0 License; see Third-Party Notices.txt file in package for details.