2025-10-15 10:53:36 +02:00
2025-10-15 10:53:36 +02:00
2025-10-15 10:53:36 +02:00
2025-10-15 10:53:36 +02:00
2025-10-15 10:53:36 +02:00
2025-10-15 10:53:36 +02:00
2025-10-15 10:53:36 +02:00
2025-10-15 10:53:36 +02:00
2025-10-15 10:53:36 +02:00
2025-10-15 10:53:36 +02:00
2025-10-15 10:53:36 +02:00
2025-10-15 10:53:36 +02:00
2025-10-15 10:53:36 +02:00
2025-10-15 10:53:36 +02:00
2025-10-15 10:53:36 +02:00

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:
git clone <repository-url>
cd unityudp
  1. Install dependencies:
flutter pub get
  1. Generate JSON serialization code:
dart run build_runner build --delete-conflicting-outputs
  1. Run the app:
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
Description
A small and simple Tool to send UDP packages over custom ports to control logic in Unity projects.
Readme 391 KiB
Languages
Dart 55.2%
C++ 17.9%
CMake 14.7%
C# 8.6%
Swift 1.5%
Other 2%