Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/laurawebdev/sofiaconsole
An easy to use in-game dev console for Godot 4 (C#)
https://github.com/laurawebdev/sofiaconsole
developer-tools godot godot-engine hacktoberfest
Last synced: about 1 month ago
JSON representation
An easy to use in-game dev console for Godot 4 (C#)
- Host: GitHub
- URL: https://github.com/laurawebdev/sofiaconsole
- Owner: LauraWebdev
- License: mit
- Created: 2023-09-07T17:44:03.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-25T18:24:07.000Z (about 1 year ago)
- Last Synced: 2024-04-16T04:58:51.560Z (8 months ago)
- Topics: developer-tools, godot, godot-engine, hacktoberfest
- Homepage:
- Size: 2.4 MB
- Stars: 26
- Watchers: 1
- Forks: 1
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# SofiaConsole
An easy to use in-game dev console for Godot 4 (C#)![](/docs/screenshot.png)
## Getting Started
### How to install
- Copy the `addons/sofiaconsole` folder into your project
- Build your project
- Enable the plugin
- Make sure, that `res://addons/sofiaconsole/Console.tscn` is a global autoload with the name `Console`### How to use
- Press `F3` in-game to open the console
- You can create an input action named "toggle_console" to define a custom key/button## Commands
### How to add commands
Simply add the `[ConsoleCommand]` attribute to a method to register it as a command. A command must always provide a command name to be executed. You can also optionally provide a `Description` and `Usage` string.#### Examples
- `[ConsoleCommand("mycommand")]`
- `[ConsoleCommand("mycommand", Description = "This should describe my command")]`
- `[ConsoleCommand("move", Description = "Moves player", Usage = "move [x] [y] [z]")]`#### Helpers
There are a few helper methods your command can call.
- `Console.Instance.ClearConsole();` - clears the console
- `Console.Instance.Space();` - adds a blank line
- `Console.Instance.Space(n);` - adds n blank lines
- `Console.Instance.Print("Hello World");` - adds a string as output (PrintType is Default)
- `Console.Instance.Print("Hello World", Console.PrintType.Default);` - white
- `Console.Instance.Print("Hello World", Console.PrintType.Hint);` - grey
- `Console.Instance.Print("Hello World", Console.PrintType.Warning);` - orange
- `Console.Instance.Print("Hello World", Console.PrintType.Error);` - red
- `Console.Instance.Print("Hello World", Console.PrintType.Success);` - green### Built in commands
We have created a few default commands that are always available.- `clear`
- Clears the console history
- `devcam`
- Toggles between the current camera and a free-flying camera
- `fps / togglefps`
- Toggles the FPS counter
- `maxfps [fps]`
- Adds an fps limit, 0 (or no parameter value) disabled the limiter
- `helloworld`
- Prints 'Hello World!' in the console
- `help [command?]`
- Shows all registered commands. If command is specified, it will display the description and usage of a single command
- `info`
- Prints general information about your game, engine and PC
- `reload`
- Reloads the current scene
- `timescale`
- Sets the timescale
- `toggleconsole`
- Toggles the console### Demo Project
This repository contains a demo project that implements a `noclip` console command to showcase the usage of this addon.