{"id":31681315,"url":"https://github.com/romanslack/hlynr_unity_environment_v2","last_synced_at":"2026-02-17T11:02:52.589Z","repository":{"id":310739549,"uuid":"1041045900","full_name":"RomanSlack/Hlynr_Unity_Environment_V2","owner":"RomanSlack","description":null,"archived":false,"fork":false,"pushed_at":"2025-12-01T21:00:36.000Z","size":133469,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-03T01:45:25.420Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RomanSlack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"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":"2025-08-19T22:43:06.000Z","updated_at":"2025-12-01T21:00:40.000Z","dependencies_parsed_at":"2025-08-20T00:38:25.081Z","dependency_job_id":null,"html_url":"https://github.com/RomanSlack/Hlynr_Unity_Environment_V2","commit_stats":null,"previous_names":["romanslack/hlynr_unity_environment_v2"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RomanSlack/Hlynr_Unity_Environment_V2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RomanSlack%2FHlynr_Unity_Environment_V2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RomanSlack%2FHlynr_Unity_Environment_V2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RomanSlack%2FHlynr_Unity_Environment_V2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RomanSlack%2FHlynr_Unity_Environment_V2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RomanSlack","download_url":"https://codeload.github.com/RomanSlack/Hlynr_Unity_Environment_V2/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RomanSlack%2FHlynr_Unity_Environment_V2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29541119,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T08:11:05.436Z","status":"ssl_error","status_checked_at":"2026-02-17T08:09:38.860Z","response_time":100,"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":[],"created_at":"2025-10-08T07:47:54.198Z","updated_at":"2026-02-17T11:02:52.574Z","avatar_url":"https://github.com/RomanSlack.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hlynr Intercept Unity Environment\n\nA high-fidelity missile defense simulation environment built in Unity for developing and testing interceptor control systems and reinforcement learning algorithms.\n\n![Unity](https://img.shields.io/badge/Unity-2022.3+-000000?style=flat\u0026logo=unity)\n![C#](https://img.shields.io/badge/C%23-10.0-239120?style=flat\u0026logo=csharp)\n![Physics](https://img.shields.io/badge/Physics-6DOF-blue?style=flat)\n![AI Ready](https://img.shields.io/badge/AI-Ready-green?style=flat)\n![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20Mac%20%7C%20Linux-lightgrey?style=flat)\n\n## Overview\n\nHlynr Intercept is a sophisticated missile interception simulation that provides realistic physics-based modeling of interceptor missiles engaging incoming threats. The environment features full 6-degree-of-freedom (6DOF) physics, proportional navigation guidance, and comprehensive telemetry logging, making it ideal for developing advanced control algorithms and training reinforcement learning agents.\n\n## Key Features\n\n### Physics \u0026 Dynamics\n- **6DOF Flight Model**: Complete rigid body dynamics with torque-based attitude control\n- **PID Control System**: Closed-loop attitude stabilization with configurable gains\n- **Thrust Modeling**: Realistic propulsion with thrust curves and fuel consumption\n- **Aerodynamic Forces**: Drag and lift calculations for atmospheric flight\n\n### Guidance \u0026 Control\n- **Proportional Navigation**: Industry-standard PN guidance law implementation\n- **Seeker Sensor**: Target acquisition with field-of-view and range constraints\n- **Proximity Fuse**: Configurable detonation radius for target intercept\n- **Multi-mode Threats**: Support for both ballistic and maneuvering targets\n\n### Simulation Infrastructure\n- **Telemetry System**: CSV-based data logging for analysis and replay\n- **HUD Display**: Real-time visualization of missile state and guidance parameters\n- **Configurable Scenarios**: ScriptableObject-based configuration system\n- **Force Visualization**: Debug rendering of applied forces and torques\n\n### AI/ML Integration\n- **RL-Ready Architecture**: Modular design supporting Python backend integration\n- **JSON Communication Protocol**: Structured data exchange for external controllers\n- **State Space Access**: Complete observability of simulation state\n- **Control Interface**: Direct access to attitude and thrust commands\n\n## Project Structure\n\n```\nAssets/\n├── Scripts/\n│   ├── Core/               # Simulation bootstrap and camera control\n│   ├── Missile/            # Interceptor dynamics and control systems\n│   ├── Entities/           # Threat spawning and behavior\n│   ├── Config/             # Settings and configuration\n│   ├── Analytics/          # Telemetry and visualization\n│   └── UI/                 # HUD and user interface\n├── Prefabs/                # Missile, threat, and effect prefabs\n├── Materials/              # Shaders and visual materials\n├── Scenes/                 # Main simulation scene\n└── ScriptableObjects/      # Configuration assets\n```\n\n## Core Components\n\n### Missile Systems\n- `Missile6DOFController`: Applies torques and forces for attitude control\n- `PIDAttitudeController`: Converts rate commands to control torques\n- `GuidanceProNav`: Implements proportional navigation guidance\n- `SeekerSensor`: Handles target tracking and lock management\n- `ThrustModel`: Manages propulsion and thrust vectoring\n- `FuelSystem`: Tracks fuel consumption and mass changes\n\n### Threat Systems\n- `ThreatSpawner`: Generates incoming threats at configured intervals\n- `ThreatGuidance`: Simple guidance for legacy threat model\n- `ThreatRocketController`: Advanced 6DOF threat with realistic dynamics\n\n### Support Systems\n- `TelemetryLogger`: Records simulation data to CSV files\n- `MissileHUDController`: Displays real-time missile and target information\n- `GameSimSettings`: Central configuration for simulation parameters\n\n## Getting Started\n\n### Requirements\n- Unity 2022.3 LTS or newer\n- Universal Render Pipeline (URP)\n- Input System package\n- Mathematics package\n\n### Running the Simulation\n1. Open the project in Unity\n2. Load the `SampleScene` from Assets/Scenes/\n3. Press Play to start the simulation\n4. Press 'I' to launch an interceptor when a threat is present\n\n### Controls\n- **I**: Launch interceptor missile\n- **P**: Pause/unpause simulation\n- **R**: Reset scene\n- **Mouse**: Camera rotation (hold right-click)\n- **WASD**: Camera movement\n- **Shift/Ctrl**: Camera altitude adjustment\n\n## Configuration\n\nThe simulation behavior can be customized through the `GameSimSettings` ScriptableObject:\n- Threat spawn parameters\n- Defended target position\n- Threat behavior modes (ballistic vs maneuvering)\n- Physics timestep settings\n- Telemetry output configuration\n\n## AI Integration\n\nThe architecture supports integration with external AI/ML systems through:\n1. Modular control interfaces allowing guidance system replacement\n2. Comprehensive state observation through telemetry system\n3. Documented feasibility for Python RL backend integration\n4. Clean separation between physics simulation and control logic\n\nSee `Assets/Scripts/Unity_RL_API_Integration_Feasibility.md` for detailed integration guidelines.\n\n## Development Roadmap\n\n- Phase 1: Core simulation and physics (Complete)\n- Phase 2: Python RL API integration layer\n- Phase 3: Multi-agent coordination support\n- Phase 4: Advanced scenario generation\n- Phase 5: Performance optimization and scaling\n\n## Technical Details\n\n- **Fixed Timestep**: 0.01s (100Hz) physics update rate\n- **Coordinate System**: Unity standard (Y-up, left-handed)\n- **Units**: Metric (meters, kilograms, seconds)\n- **Performance**: 60+ FPS with multiple simultaneous engagements\n\n## License\n\nHippocratic License 2.1 - Copyright (c) 2025 Roman Slack\n\nThis software is provided for research and educational purposes only. Usage is restricted to applications that respect human rights and international law. The software explicitly prohibits use in:\n- Lethal autonomous weapons systems\n- Military or defense applications including weapon targeting\n- Mass surveillance or predictive policing\n- Any activities violating universal human rights\n\nSee [https://firstdonoharm.dev](https://firstdonoharm.dev) for full license details.\n\n## Contact\n\nFor technical inquiries or collaboration opportunities, please contact the Hlynr development team.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromanslack%2Fhlynr_unity_environment_v2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fromanslack%2Fhlynr_unity_environment_v2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromanslack%2Fhlynr_unity_environment_v2/lists"}