Cam's Command System
A downloadable asset pack
Are you looking for a simple system to let players mod your game?
Do you want a powerful command system that lets players modify the look and feel of your game?
If you answered yes to either of these questions, Cam's Command System is the system for you!
This system does not include a console. Rather, it includes an interpreter that executes commands given to it by an outside console.
This system currently has 11 commands, including:
- Commands to create GameObjects in the scene
- Commands to attach components to GameObjects in the scene
- Commands to move objects in the scene
- Commands to modify any public variables
- Commands to call any public methods
- Commands to import player-created sprites
- Commands to import player-created textures
- Quality of life commands
Not happy with just these commands? Adding new ones is as simple as adding a function's name and location to a Dictionary.
This system is under active development. While it is currently free, I might make it paid as the system becomes more fleshed out. Here are some of the things I am currently working on or have planned:
- Event-triggered command sequences
- Modding support by reading commands from files
- Custom logic using if, else, and else if commands
Full list of commands:
- Say - Prints a message to the console
- Version - Prints the command interpreter version to the console
- Help - Prints a list of all commands to the console
- CreateOBJ - Creates a GameObject with a specified name at a specified location
- AttachComponent - Attaches the specified component to the specified GameObject
- Move - Moves the specified GameObject to the specified location
- Set - Sets the specified variable to the specified value. The datatype must have a Parse method
- SetSpriteExternal - Imports an image from the Assets folder (before build) or the _Data folder (after build) and sets it as the specified object's sprite.
- Set3DTexExternal - Imports an image from the Assets folder (before build) or the _Data folder (after build) and sets it as the main texture (Albedo) of the specified object
- Do - Executes a command a specified number of times. Nested Do commands are supported
- ExecuteMultiple - Executes multiple commands in sequential order
- SetComponentValue - Sets a component's variable to the specified value
- CallFromComponent - Calls a component's method with the specified parameters
- Call - Calls a specified static method with the specified parameters. Only types in the AllowedTypes Dictionary or user-created types are allowed to prevent the user from calling System.IO or Reflection methods
- GiveFeedback - opens a feedback/bug report form
There are two additional commands that load sprites and textures from your resources folder, these are disabled by default as they require you to put sprites or textures in your resources folder.
If you've found a bug or would like to suggest a command, feel free to email me at camkdev@gmail.com.
Status | In development |
Category | Assets |
Author | Cam K |
Made with | Unity |
Tags | code, command-system, c-sharp, script, Unity |
Download
Click download now to get access to the following files:
Development log
- Version 1.1 ChangelogDec 28, 2020
Leave a comment
Log in with itch.io to leave a comment.