initial upload
This commit is contained in:
99
README.md
Normal file
99
README.md
Normal file
@ -0,0 +1,99 @@
|
||||
# UnityUDP
|
||||
|
||||
A small and simple Tool to send UDP packages over custom ports to control logic in Unity projects.
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Flutter SDK (^3.8.1)
|
||||
- Dart SDK
|
||||
|
||||
### Installation
|
||||
|
||||
1. Clone the repository:
|
||||
```bash
|
||||
git clone <repository-url>
|
||||
cd unityudp
|
||||
```
|
||||
|
||||
2. Install dependencies:
|
||||
```bash
|
||||
flutter pub get
|
||||
```
|
||||
|
||||
3. Generate JSON serialization code:
|
||||
```bash
|
||||
dart run build_runner build --delete-conflicting-outputs
|
||||
```
|
||||
|
||||
4. Run the app:
|
||||
```bash
|
||||
flutter run -d windows # For Windows
|
||||
flutter run -d macos # For macOS
|
||||
flutter run -d linux # For Linux
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Creating a Project
|
||||
|
||||
1. Tap the **"New Project"** button on the home screen
|
||||
2. Enter a project name and UDP port number (1-65535)
|
||||
3. Tap **"Save"**
|
||||
|
||||
### Adding UDP Packages
|
||||
|
||||
1. Select a project from the home screen
|
||||
2. Tap the **"New Package"** button
|
||||
3. Enter:
|
||||
- Package name (for identification)
|
||||
- IP address (destination, e.g., 127.0.0.1 for localhost)
|
||||
- Data (the content to send)
|
||||
4. Tap **"Save"**
|
||||
|
||||
### Sending UDP Packages
|
||||
|
||||
1. Navigate to a project
|
||||
2. Find the package you want to send
|
||||
3. Tap the **"Send"** button
|
||||
4. The package will be sent to the configured IP address and port
|
||||
|
||||
### Managing Projects and Packages
|
||||
|
||||
- **Edit Port**: Use the settings card at the top of the project screen to change the port
|
||||
- **Copy Package**: Tap the menu icon (⋮) on a package and select "Copy"
|
||||
- **Edit**: Tap the menu icon (⋮) and select "Edit"
|
||||
- **Delete**: Tap the menu icon (⋮) and select "Delete"
|
||||
|
||||
## Platform Support
|
||||
|
||||
- ✅ Windows (Recommended)
|
||||
- ✅ macOS
|
||||
- ✅ Linux
|
||||
- ✅ Android
|
||||
- ✅ iOS
|
||||
- ⚠️ Web (Storage works, but UDP is not supported in browsers)
|
||||
|
||||
**Note:** For full UDP functionality, run the app on desktop (Windows/macOS/Linux) or mobile platforms. Web browsers do not support raw UDP sockets due to security restrictions.
|
||||
|
||||
## Architecture
|
||||
|
||||
The app follows a clean architecture pattern with:
|
||||
|
||||
- **Models**: Data classes for Project and UdpPackage with JSON serialization
|
||||
- **Services**:
|
||||
- `StorageService`: Handles local persistence using SharedPreferences
|
||||
- `UdpService`: Manages UDP packet transmission
|
||||
- **Screens**:
|
||||
- `HomeScreen`: Project listing and management
|
||||
- `ProjectScreen`: Package listing, editing, and sending
|
||||
- **Widgets**: Reusable dialog components for creating/editing items
|
||||
|
||||
## Dependencies
|
||||
|
||||
- `udp: ^5.0.3` - UDP networking functionality
|
||||
- `shared_preferences: ^2.2.2` - Local data persistence
|
||||
- `json_annotation: ^4.9.0` - JSON serialization annotations
|
||||
- `build_runner: ^2.4.8` - Code generation
|
||||
- `json_serializable: ^6.7.1` - JSON serialization code generation
|
||||
Reference in New Issue
Block a user