{"id":22922441,"url":"https://github.com/stephenhidem/unity-ant-grpc","last_synced_at":"2026-05-16T06:38:50.406Z","repository":{"id":267972640,"uuid":"893512723","full_name":"StephenHidem/Unity-ANT-gRPC","owner":"StephenHidem","description":"Example that demonstrates integration of ANT and gRPC with Unity game development.","archived":false,"fork":false,"pushed_at":"2025-01-22T16:47:05.000Z","size":4643,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-07T09:14:41.126Z","etag":null,"topics":["ant","grpc","unity"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/StephenHidem.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2024-11-24T16:30:06.000Z","updated_at":"2025-01-22T16:47:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"f2965c3c-309b-4576-bd1e-234fc0f63666","html_url":"https://github.com/StephenHidem/Unity-ANT-gRPC","commit_stats":null,"previous_names":["stephenhidem/unity-ant-grpc"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StephenHidem%2FUnity-ANT-gRPC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StephenHidem%2FUnity-ANT-gRPC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StephenHidem%2FUnity-ANT-gRPC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StephenHidem%2FUnity-ANT-gRPC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StephenHidem","download_url":"https://codeload.github.com/StephenHidem/Unity-ANT-gRPC/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246655886,"owners_count":20812719,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["ant","grpc","unity"],"created_at":"2024-12-14T08:10:19.264Z","updated_at":"2026-05-16T06:38:50.377Z","avatar_url":"https://github.com/StephenHidem.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./SmallEarthTech.png\" /\u003e\n\u003c/p\u003e\n\n# Unity ANT gRPC Example\nThis project is a simple example of integrating the AntPlus libraries and hosting\nextensions in a Unity game.\n## Overview\nThe UI consists of ANT radio server info, a ListView to display ANT devices in the AntCollection, and\na details view that displays the selected ANT device image and device number.\n\nThe example uses dependency injection as illustrated in AntPlus.cs. The Microsoft host builder adds a\nlogger for the Windows event system, which is not supported by Unity; so logging providers are cleared\nand the custom logger UnityLogger.cs is added to the container. The SmallEarthTech.AntPlus.Extensions.Hosting\nextension are added to the container by invoking the UseAntPlus() static method.\n\nAntGrpcShared.dll is a .NET library that provides the gRPC service for the ANT+ network. The AntRadioService\nclass is a singleton that manages the ANT radio service. It uses the AntChannelService to provide supporting\nservices for the ANT network.\n\nYou will need to clone the VS2022 [AntPlus] solution and build the solution in order to run this example. This\nsolution provides the AntGrpcShared.dll necessary for gRPC support and the AntGrpcService console app/windows\nservice that acts as server on the network.\n\nThe AntGrpcService uses commercially available ANT USB sticks for ANT networks. I use two for testing; one to\nsupport the service and the second to run simulated ANT devices. The service needs to be running so the Unity\nexample can communicate with ANT devices.\n### Basic Setup for Unity Projects\nYou can start with these steps if you are not using this cloned solution from github.\n1. Create a Unity project\n2. Open Unity Package Manager window and install NuGetForUnity. See instructions [here][NuGetForUnity].\n3. Open Unity Package Manager window and install YetAnotherHttpHandler. See instructions [here][YetAnotherHttpHandler].\n4. Select **_Manage NuGet Packages_** from the NuGet menu and install the following packages -\n    - Google.Protobuf \n    - Grpc.Client.Net \n    - SmallEarthTech.AntPlus.Extensions.Hosting \n    - System.Runtime.CompilerServices.Unsafe\n    - System.IO.Pipelines\n5. Copy AntGrpcShared.dll (netstandard2.1\\debug or netstandard2.1\\release build) from the cloned AntPlus solution to the **_Assets_** folder or a subfolder in the **_Project_** window.\n6. Implement a MonoBehavior that supports dependency injection similar what I've done in AntPlus.cs.\n\nThat completes the initial steps required.\n## Links\n- [ANT+ Class Library Repository][AntPlus]\n- [ANT+ Class Library Help](http://stephenhidem.github.io/AntPlus)\n\n[NuGetForUnity]: https://github.com/GlitchEnzo/NuGetForUnity\n[YetAnotherHttpHandler]: https://github.com/Cysharp/YetAnotherHttpHandler\n[AntPlus]: https://github.com/StephenHidem/AntPlus","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstephenhidem%2Funity-ant-grpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstephenhidem%2Funity-ant-grpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstephenhidem%2Funity-ant-grpc/lists"}