# EN Version(英文版)

## Blueprint Console Command System

High-performance Unreal Engine 5 blueprint console command system providing millisecond-level execution performance with complete blueprint integration.

### ✨ Key Features

* ✅ **Direct Command Registration** - No need for `BlueprintCommand` prefix, just type the command name
* ✅ **Simple to Use** - Just call `Bind Command` to register commands
* ✅ **High Performance** - Millisecond-level command execution
* ✅ **Full Blueprint Support** - All features accessible in blueprints
* ✅ **Powerful Parameter Parser** - Built-in parser supports multiple data types
* ✅ **Thread Safe** - Supports multi-threaded environments
* ✅ **Auto Cleanup** - Automatically unregisters commands on exit

### 🚀 Quick Start

#### 1. Add Component

Add the `Blueprint Console Command System` component to your Character or GameMode blueprint.

#### 2. Register Commands

In `Event BeginPlay`:

```
Event BeginPlay
    ↓
Bind Command (Command Name: "111")
    ↓
Bind Command (Command Name: "222")
    ↓
Bind Event to On Blueprint Command Executed
```

#### 3. Handle Commands

```
Custom Event: On Blueprint Command Executed (CommandName, Parameters)
    ↓
Switch on String (CommandName)
    ├─ "111" → [Your Logic]
    └─ "222" → [Your Logic]
```

#### 4. Use Commands

Open the console (\~ key) and type:

* `111`
* `222`
* `111 test parameters`

### 📚 Parameter Parsing

Use the built-in `Blueprint Console Command Parser` to easily parse parameters:

```
Parameters → Get Parameter As Int (Index: 0) → Result
Parameters → Get Parameter As Float (Index: 1) → Result
Parameters → Get Parameter As Vector (Start Index: 2) → Result
```

#### Supported Data Types

* **Basic Types**: String, Int, Float, Bool
* **Complex Types**: Vector, Rotator
* **Batch Parsing**: Array types
* **Named Parameters**: key=value format

### 📖 Documentation

* Parser Complete Guide - Detailed parameter parser usage instructions

### 🔧 API Overview

#### Command Registration

| Function                  | Description                                                   |
| ------------------------- | ------------------------------------------------------------- |
| `Bind Command`            | Register command (automatically registers as console command) |
| `Unbind Command`          | Unregister command                                            |
| `Get Registered Commands` | Get all registered commands                                   |
| `Is Command Registered`   | Check if command is registered                                |

#### Parameter Parsing

| Function                    | Description             |
| --------------------------- | ----------------------- |
| `Get Parameter As Int`      | Parse integer parameter |
| `Get Parameter As Float`    | Parse float parameter   |
| `Get Parameter As Bool`     | Parse boolean parameter |
| `Get Parameter As Vector`   | Parse vector parameter  |
| `Get All Parameters As Int` | Batch parse integers    |
| `Parse Named Parameters`    | Parse named parameters  |

### 💡 Usage Examples

#### Example 1: Teleport Command

```
Command: tp 100 200 300

Blueprint:
Parameters → Get Parameter As Vector → Set Actor Location
```

#### Example 2: Set Properties Command

```
Command: setprop health=100 speed=5.5

Blueprint:
Parameters → Parse Named Parameters
    ├─ Get Named Parameter As Int (health)
    └─ Get Named Parameter As Float (speed)
```

#### Example 3: Batch Processing

```
Command: numbers 10 20 30 40 50

Blueprint:
Parameters → Get All Parameters As Int → For Each Loop → Print
```

### ⚙️ Configuration Options

#### Bind Command Parameters

* `Command Name` (String) - Command name
* `Register as Console Command` (Bool) - Whether to register as standalone console command (default: true)

### 🎯 Performance Features

* **O(1) Command Lookup** - Uses hash table for fast lookup
* **Thread Safe** - Uses critical sections to protect shared data
* **Memory Pre-allocation** - Pre-allocates memory pool to reduce runtime allocation
* **Frame Rate Limiting** - Maximum 100 commands per frame
* **Performance Monitoring** - Built-in command execution statistics

### 🛠️ System Requirements

* Unreal Engine 5.6+
* C++ Compilation Environment
* Windows/Mac/Linux

### 📝 Version History

#### v1.0.0

* ✅ Initial release
* ✅ Direct command registration feature
* ✅ Complete parameter parser
* ✅ Full blueprint integration
* ✅ High-performance command execution

### 🤝 Contributing

Issues and Pull Requests are welcome!

### 📄 License

MIT License

### 💬 Support

If you have any issues, feel free to find me in the Discord community!

<https://discord.com/invite/PGYbqVcqBf>

***

**Enjoy efficient command system development experience!** 🎉
