• Stars
    star
    101
  • Rank 336,819 (Top 7 %)
  • Language
    C#
  • License
    MIT License
  • Created over 10 years ago
  • Updated over 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Developer Console for Unity3D

GConsole

GConsole is an ingame developer console for the Unity3D Engine.

Here are some screenshots:

##Why? A proper console solution didn't exist (in my eyes) on the asset store, and I can't live without one. Having a developer console ingame is great for debug purposes, and for your final product too.

See, for instance, Valve's game developer console, which prints information that is otherwise not visible to the user and allows the user to send "advanced" commands, for instance changing a setting.

##Features

  • GUI framework agnostic
  • Easy to use
  • Drag 'n' drop "installation"
  • Suggestions feature
  • Hooks into Unity logger (if you want it to), including stacktraces.
  • Customizable, supports colored text
  • Free and open source!

##UI

###Available UI Front-ends:

##Usage ###Setup

  • Download this repository, put the GConsole folder somewhere in your project.

  • Pop a GConsole script on any (enabled) GameObject in your scene (or drop in the provided prefab).

  • Download a frontend.

  • See frontend page for further steps.

###Printing to the console.

GConsole.Print("Hello world");

###Adding a command

GConsole.AddCommand("quit", "Quits the application.", QuitApplication);
  • The first argument is the command name
  • The second argument is a description
  • The third argument is a method which returns a string and takes one parameter: a string. It doesn't matter whether it's private, internal, protected or public. What this method returns is what is printed to the console.
  • (OPTIONAL) Fourth argument is additional help text. Shown when the user types help <commandname>.

Full Example

public class GConsoleQuit : MonoBehaviour {

	void Start () {
	    GConsole.AddCommand("quit", "Quits the application.", QuitApplication);
	}

    string QuitApplication(string param)
    {
        if (Application.isWebPlayer || Application.isEditor)
        {
            return "You can't quit in a webplayer build, just close this window!"; //Or in the editor, but lets not print that.
        }
        else
        {
            Application.Quit();
            return null; //No point in returning a message if the application has already shut down.
        }
    }
}

###Dynamically calling a command If for some reason you want to call a command dynamically (from code, perhaps from some sort of script file), you can do that.

GUIConsole.Eval(cmd);

Where cmd is a string, just like the user would have typed it into the console.

This returns the output of this command (useful if you want people to be able to use console commands from say, a chat window, where if they prepend a "/" it's evaluated by the console, and then you print what this returns in that window).

##Contribution Guidelines Any contributions are welcome, including feature requests.

##Contributors Rahazan (Guido Zuidhof) TarasOsiris (Taras Leskiv) MuNgLo baguwka

##License

MIT license

More Repositories

1

starboard-notebook

In-browser literate notebooks
TypeScript
1,217
star
2

tygo

Generate Typescript types from Golang source code
Go
592
star
3

coi-serviceworker

Cross-origin isolation (COOP and COEP) through a service worker for situations in which you can't control the headers (e.g. GH pages)
JavaScript
369
star
4

nn-transfer

Convert trained PyTorch models to Keras, and the other way around
Python
226
star
5

luna16

LUNA16 Lung Nodule Analysis - NWI-IMC037 Final Project
Python
183
star
6

zarr.js

Javascript implementation of Zarr
TypeScript
132
star
7

starboard-cli

Starboard CLI for local (offline) editing of notebooks
CSS
20
star
8

LD49

TypeScript
20
star
9

starboard-observable

Observable cells in Starboard Notebook. Why not?
TypeScript
20
star
10

jpeg-artifact-reduction

Jupyter Notebook
16
star
11

starboard-jupyter

Plugin to run Starboard cells in an external Jupyter kernel
TypeScript
15
star
12

starboard-wrap

🌯A small library that wraps a Starboard Notebook iframe in the parent webpage
TypeScript
14
star
13

wasmwrap

Wrap WASM into JS files as base64
TypeScript
13
star
14

hx-ash

Entity Component Framework
Haxe
12
star
15

jupystar

Convert Jupyter notebooks (ipynb) to Starboard notebooks
Jupyter Notebook
8
star
16

starboard-python

Plugin that adds Python cells to Starboard
8
star
17

no-free-plan

HTML
8
star
18

rollup-plugin-base64

A rollup plugin that allows you to import files as a base64 string
JavaScript
7
star
19

flipper

🐬 Flipper is a monitoring service that automatically re-points floating IPs at healhy targets.
Go
7
star
20

li-hackathon

48 hour hackathon project: From RU with Love
Vue
6
star
21

nasync-js

What if JS didn't have await and async, because everything is async and awaited?
TypeScript
5
star
22

starlit

Go
4
star
23

WebMetaverse

Supposedly the 3D world wide web.
JavaScript
3
star
24

whole-slide-breast-cancer-classification

Resulting publication http://spie.org/Publications/Journal/10.1117/1.JMI.4.4.044504
Jupyter Notebook
3
star
25

HRI

Human Robot Interaction course project (robot cooking assistant with NLP)
Python
3
star
26

starcloud

CDN origin for Starboard assets with the correct headers set
Go
2
star
27

advent-of-code-2020

Advent of Code 2020 Solutions
2
star
28

LD30

"Connected Worlds"
C#
2
star
29

GConsoleNGUI

NGUI Frontend for GConsole
C#
2
star
30

ai-at-the-web-scale

Final project for "AI at the web scale" course (profit optimization for webshop -> contextual bandit problem)
Python
1
star
31

magiclogin-docs

Docs for https://magiclogin.net
1
star
32

excess

Performant WebRTC signalling server (written in Elixir)
Elixir
1
star
33

gamejam

GAMEJAM games
ASP
1
star
34

Mash

Mash, 2D Game Engine with Ash Entity System Framework
Haxe
1
star