Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/smidgens/unity-console

In-game console for Unity
https://github.com/smidgens/unity-console

not-affiliated-with-harry-nilsson smidgenomics unity unity-console unity-plugin

Last synced: 2 months ago
JSON representation

In-game console for Unity

Awesome Lists containing this project

README

        

![](/.github/banner.png?raw=true "")
![](/.github/gallery.png?raw=true "")

# ℹī¸ Features

* Reflection-based in-game console.
* No extras required - usable with existing code and wireable through inspector.
* Bind commands to methods, fields, or properties.
* Customizable toolbar.
* Includes input and parsing of standard primitive types + common Unity structs (`Vector2/3/4`, `Color`...).
* Minimalistic and functional UI (Unity IMGUI).
* 🤞 Reasonably lightweight.

**⌛ In Progress**

* [ ] Support binding methods with optional parameters.
* [ ] Support implicit type casting for arguments when available (float -> double etc.)
* [ ] Support custom input parsers to handle custom types as command arguments.


# đŸ“Ļ Install

1. Open Package Manager
2. Paste GitHub URL:\
`https://github.com/Smidgens/unity-console.git#`


# 🚀 Use

## Basic Setup

1. Create a Console asset: `Create->Console->Console`.
2. Add a `Console GUI` script to your scene and drop a reference to the asset into it.




## Binding Commands

### đŸŸŖ Option 1: Script

1. Add a Console Command script to your scene.
2. Add a reference to a console asset.


### đŸ”ĩ Option 2: Asset

1. Create a Console Command asset in your project: `Create->Console->Console Command`.
2. Drop a reference to the command into a console asset.


### 🟠 Option 3: Attributes

**Note**: Requires reference to `Smidgenomics.Unity.Console` assembly.

#### đŸ”ŗ ConsoleCommand

Exposes static method, field, or property to console.

#### đŸ”ŗ ConsoleAssembly

Additional options for commands declared in assembly. Also used to filter assemblies based on attribute search settings in console asset.

#### đŸ”ŗ ConsoleClass

Additional options for commands declared in type. Includes option for exposing all members automatically.

#### đŸ”ŗ HideInConsole

Ignores class member from console when exposing all class members through `ConsoleClass`.