{"id":47753277,"url":"https://github.com/xraph/gameframework","last_synced_at":"2026-04-03T03:52:06.457Z","repository":{"id":335765119,"uuid":"1126928814","full_name":"xraph/gameframework","owner":"xraph","description":"Game SDK for flutter with support for unity engine and unreal engine (WIP)","archived":false,"fork":false,"pushed_at":"2026-02-20T03:14:54.000Z","size":1275,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-20T07:21:05.458Z","etag":null,"topics":["flutter","flutter-unity-view-widget","flutter-unity-widget","game","pub-dev","unity-package","unity3d","unreal-engine"],"latest_commit_sha":null,"homepage":"https://gameframework.dev","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xraph.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-02T20:49:49.000Z","updated_at":"2026-02-20T03:14:58.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/xraph/gameframework","commit_stats":null,"previous_names":["xraph/gameframework"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/xraph/gameframework","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xraph%2Fgameframework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xraph%2Fgameframework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xraph%2Fgameframework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xraph%2Fgameframework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xraph","download_url":"https://codeload.github.com/xraph/gameframework/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xraph%2Fgameframework/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31332835,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T03:20:36.090Z","status":"ssl_error","status_checked_at":"2026-04-03T03:20:35.133Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flutter","flutter-unity-view-widget","flutter-unity-widget","game","pub-dev","unity-package","unity3d","unreal-engine"],"created_at":"2026-04-03T03:52:04.352Z","updated_at":"2026-04-03T03:52:06.438Z","avatar_url":"https://github.com/xraph.png","language":"C#","readme":"# Game Framework\n\nA unified, modular framework for embedding multiple game engines (Unity, Unreal Engine) into Flutter applications with bidirectional communication and lifecycle management.\n\n[![pub package](https://img.shields.io/pub/v/gameframework.svg)](https://pub.dev/packages/gameframework)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\n---\n\n## Overview\n\nGame Framework provides a consistent API for integrating game engines into Flutter applications. Built as a Dart workspace monorepo, it includes:\n\n- **gameframework** - Core framework package with unified engine API\n- **gameframework_unity** - Unity Engine integration plugin\n- **gameframework_unreal** - Unreal Engine integration plugin\n- **example** - Demo application showcasing framework capabilities\n\n## Features\n\n- **Unified API** - Single interface for all game engines\n- **Modular Architecture** - Use only the engines you need\n- **Bidirectional Communication** - Flutter ↔ Engine messaging with type safety\n- **Lifecycle Management** - Automatic pause/resume/destroy handling\n- **Multi-Platform** - Android, iOS, macOS, Windows, Linux support\n- **Production Ready** - Comprehensive testing and documentation\n\n## Monorepo Structure\n\n```\ngameframework-workspace/\n├── pubspec.yaml                        # Workspace configuration\n├── Makefile                            # Build automation\n├── packages/\n│   └── gameframework/                  # Core framework\n│       ├── lib/                        # Dart API\n│       ├── android/                    # Android platform code\n│       ├── ios/                        # iOS platform code\n│       └── pubspec.yaml                # v0.0.1\n├── engines/\n│   ├── unity/\n│   │   ├── dart/                       # Unity plugin package\n│   │   └── plugin/                     # Unity C# scripts\n│   └── unreal/\n│       ├── dart/                       # Unreal plugin package\n│       └── plugin/                     # Unreal C++ plugin\n└── example/                            # Example application\n    └── pubspec.yaml\n```\n\n## Quick Start\n\n### Prerequisites\n\n- Flutter SDK \u003e= 3.3.0\n- Dart SDK \u003e= 3.6.0\n- Unity 2022.3.x or Unreal Engine 5.x (depending on your needs)\n\n### Installation\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/xraph/gameframework.git\ncd gameframework\n```\n\n2. Bootstrap the workspace:\n```bash\nmake bootstrap\n```\n\nThis single command resolves all dependencies for all packages in the workspace.\n\n### Using in Your Project\n\nAdd to your `pubspec.yaml`:\n\n```yaml\ndependencies:\n  gameframework: ^0.0.2\n  gameframework_unity: ^0.0.2  # If using Unity\n  gameframework_stream: ^0.0.2  # If using asset streaming\n  # gameframework_unreal: ^0.0.2  # If using Unreal (WIP)\n```\n\n### Basic Usage\n\n```dart\nimport 'package:flutter/material.dart';\nimport 'package:gameframework/gameframework.dart';\nimport 'package:gameframework_unity/gameframework_unity.dart';\n\nvoid main() {\n  WidgetsFlutterBinding.ensureInitialized();\n  UnityEnginePlugin.initialize();\n  runApp(MyApp());\n}\n\nclass GameScreen extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    return Scaffold(\n      body: GameWidget(\n        engineType: GameEngineType.unity,\n        config: GameEngineConfig(\n          runImmediately: true,\n        ),\n        onEngineCreated: (controller) {\n          controller.sendMessage('GameManager', 'Start', 'level1');\n        },\n        onMessage: (message) {\n          print('Message from engine: ${message.data}');\n        },\n      ),\n    );\n  }\n}\n```\n\n## Development\n\n### Workspace Commands\n\nThe Makefile provides comprehensive workspace management:\n\n#### Setup \u0026 Dependencies\n```bash\nmake bootstrap          # Resolve all workspace dependencies\nmake setup              # Alias for bootstrap\n```\n\n#### Testing\n```bash\nmake test               # Run tests for all packages\nmake gameframework      # Test core package only\nmake unity              # Test Unity plugin only\nmake unreal             # Test Unreal plugin only\nmake test-package PKG=packages/gameframework  # Test specific package\n```\n\n#### Code Quality\n```bash\nmake analyze            # Static analysis for all packages\nmake format             # Format all code\nmake format-check       # Check formatting without changes\nmake lint               # Run format check + analyze + test\n```\n\n#### Diagnostics\n```bash\nmake doctor             # Check Flutter and dependencies\nmake list-packages      # List all workspace packages\nmake version            # Show versions of all packages\nmake coverage           # Generate coverage reports\n```\n\n#### Cleanup\n```bash\nmake clean              # Clean all build artifacts\nmake clean-deep         # Deep clean (removes all generated files)\n```\n\n#### Package-Specific Development\n```bash\n# Work on gameframework package\ncd packages/gameframework\nflutter test\nflutter analyze\n\n# Work on Unity plugin\ncd engines/unity/dart\nflutter test\n```\n\n### Running the Example\n\n```bash\nmake example            # Run example app\nmake build-android      # Build Android APK\nmake build-ios          # Build iOS (macOS only)\n```\n\n## Publishing\n\n### Check Publish Readiness\n\n```bash\nmake publish-check      # Validate all packages\n```\n\n### Publish Packages\n\nPackages must be published in dependency order:\n\n```bash\n# Publish core framework first\nmake publish-gameframework\n\n# Then publish engine plugins\nmake publish-unity\nmake publish-unreal\n\n# Or publish all in order\nmake publish-all\n```\n\n## Architecture\n\n### Core Package (gameframework)\n\nThe core package provides:\n- `GameWidget` - Universal widget for all engines\n- `GameEngineController` - Engine lifecycle and communication\n- `GameEngineRegistry` - Engine plugin registration\n- Platform-specific implementations for Android, iOS, macOS, Windows, Linux\n\n### Engine Plugins\n\nEach engine plugin (Unity, Unreal) implements:\n- Engine-specific controller\n- Platform view integration\n- Bidirectional messaging\n- Lifecycle management\n\n### Communication Flow\n\n```\nFlutter App\n    ↕ (MethodChannel)\nGameWidget (gameframework)\n    ↕ (Platform Interface)\nEngine Plugin (gameframework_unity/unreal)\n    ↕ (Native Bridge)\nGame Engine (Unity/Unreal)\n```\n\n## 📊 Project Status \u0026 Roadmap\n\n**Current Version:** 0.0.2\n\n### ✅ Production Ready\n- **Unity:** Android, iOS\n- **Core Framework:** All platforms\n\n### 🚧 Work in Progress\n- **Unity:** Web, macOS, Windows, Linux\n- **Unreal:** Android, iOS\n\n### 📋 Roadmap\n- Complete Unity desktop \u0026 web support\n- Complete Unreal Engine mobile integration\n- Unreal desktop \u0026 web support\n- Advanced streaming features\n- Performance optimization tools\n- v1.0 Production release\n\n## Platform Support\n\n| Platform | gameframework | Unity | Unreal | Status |\n|----------|--------------|-------|--------|--------|\n| Android  | ✅ Ready     | ✅ Ready | 🚧 WIP | Stable |\n| iOS      | ✅ Ready     | ✅ Ready | 🚧 WIP | Stable |\n| Web      | ✅ Ready     | ✅ Ready | ⏳ Planned | Stable   |\n| macOS    | ✅ Ready     | 🚧 WIP | ⏳ Planned | Beta   |\n| Windows  | ✅ Ready     | 🚧 WIP | ⏳ Planned | Beta   |\n| Linux    | ✅ Ready     | 🚧 WIP | ⏳ Planned | Beta   |\n\n## Continuous Integration\n\nThe Makefile includes CI-optimized commands:\n\n```bash\nmake ci                 # Run all CI checks (format, analyze, test)\nmake check              # Run quality checks with coverage\n```\n\nExample GitHub Actions workflow:\n\n```yaml\nname: CI\n\non: [push, pull_request]\n\njobs:\n  test:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n      - uses: subosito/flutter-action@v2\n      - run: make bootstrap\n      - run: make ci\n```\n\n## Documentation\n\n- **MONOREPO_MAKEFILE.md** - Comprehensive Makefile guide\n- **QUICK_START.md** - Detailed quick start guide\n- **packages/gameframework/README.md** - Core package documentation\n- **engines/unity/dart/README.md** - Unity plugin documentation\n- **engines/unreal/dart/README.md** - Unreal plugin documentation\n\n## Contributing\n\nContributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n### Development Workflow\n\n1. Fork and clone the repository\n2. Create a feature branch: `git checkout -b feature/my-feature`\n3. Make changes and add tests\n4. Run quality checks: `make lint`\n5. Commit changes: `git commit -m \"Add my feature\"`\n6. Push to your fork: `git push origin feature/my-feature`\n7. Open a Pull Request\n\n### Code Standards\n\n- Follow Dart style guide\n- Maintain test coverage above 80%\n- Add documentation for public APIs\n- Run `make lint` before committing\n\n## Versioning\n\nAll packages use semantic versioning (semver). Current versions:\n\n- gameframework: 0.0.2\n- gameframework_stream: 0.0.2\n- gameframework_unity: 0.0.2\n- gameframework_unreal: 0.0.2\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Support\n\n- **Issues**: [GitHub Issues](https://github.com/xraph/gameframework/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/xraph/gameframework/discussions)\n- **Documentation**: [docs.gameframework.dev](https://docs.gameframework.dev)\n\n## Acknowledgments\n\n- Flutter team for the excellent framework\n- Unity Technologies and Epic Games for their game engines\n- Contributors and community members\n\n---\n\n**Note**: This is a monorepo managed with Dart workspaces. All packages share dependencies and can be developed together. Use the provided Makefile commands for workspace operations.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxraph%2Fgameframework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxraph%2Fgameframework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxraph%2Fgameframework/lists"}