Search Unity

[RELEASED] Cosmos Console - game command console with network functionality

Discussion in 'Assets and Asset Store' started by Clavus, Feb 23, 2023.

  1. Clavus

    Clavus

    Joined:
    Jun 6, 2014
    Posts:
    62
    Available on the Asset Store!
    https://assetstore.unity.com/packages/tools/utilities/cosmos-console-230818

    AssetStoreCoverImage.png

    Cosmos Console is an in-game command console with network support. Execute actions in-game, or remotely from a client console running in-editor or even as a standalone app!

    Support

    Links: Email, Documentation, Discord and Issue Tracker (used for both the asset and standalone app)
    Leaving a comment in this thread will work too :)


    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!

    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

    Why another command console?

    Because I couldn't find one that worked similar to Source engine games (Half-Life, Counter-Strike, Dota 2, etc) where commands would also be handled over the network, and where you could execute commands using a standalone application like RCON clients of old. The few that did have similar features were either poorly supported or quite over-featured and expensive. Cosmos Console tends to fill the gap with a light footprint, and a separate standalone app with which you can interface with your game.


    Standalone app?

    The lightweight standalone client app allows you to send commands to any game that implements Cosmos Console. It's freely available on Github right here: https://github.com/Clavus/CosmosConsoleRemote
    You can download the Windows release too. The app is build on .NET 6 so it can be easily build for other platforms too. The idea is that developers can fork the repo and add their own branding and distribute the app to their players if desired.


    Roadmap

    The plan is to extend the examples with some nicer drop-in UI prefabs. It's quite easy to adjust the existing UI already but I imagine some users just want to drop in something without having to think about it.

    Other features will depend on user feedback, let me know what you think! Is anything missing that you'd like to see? Any other questions? Let me know.