All Projects → mikelovesrobots → Unity3d Console

mikelovesrobots / Unity3d Console

Licence: bsd-3-clause

In-game Console

Synopsis

Quake-style console plugin for Unity3d. Toggle the console by pressing tilde (~). Press tab to autocomplete commands.

Screenshot

Screenshot

Installation

  1. Copy the Console directory to your Assets/Plugins folder. (Make the plugins folder if it doesn't exist.)
  2. Drag the console prefab into your scene.
  3. Run your scene and press ~ to launch the console.
  4. Now register some custom commands

Registering custom commands

using UnityEngine;
using System.Collections;

public class ConsoleCommandRouter : MonoBehaviour {
    void Start() {
        var repo = ConsoleCommandsRepository.Instance;
        repo.RegisterCommand("hi", Hi);
        repo.RegisterCommand("save", Save);
        repo.RegisterCommand("load", Load);
    }

    public string Hi(params string[] args) {
        return "Hey there yourself!";
    }

    public string Save(params string[] args) {
        var filename = args[0];

        //
        // [insert code here saving the game to that filename]
        //

        return "Saved to " + filename;
    }

    public string Load(params string[] args) {
        var filename = args[0];

        //
        // [insert code here loading the game from that filename]
        //

        return "Loaded " + filename;
    }
}

The string returned from the console command will be displayed to the in-game console log. Insert newlines in your response to have multiple lines be written to the log.

Logging

var logger = ConsoleLog.Instance;
logger.Log("Player died")

Logs to the in-game console.

Note from the author

Feel free to contribute your changes back! I love pull requests.

Cheers,

Mike

[email protected]

@mikelovesrobots on Twitter

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].