{"id":23086664,"url":"https://github.com/mitchellmarinodev/bevy-pigeon","last_synced_at":"2025-08-16T05:32:00.988Z","repository":{"id":40658196,"uuid":"467981410","full_name":"MitchellMarinoDev/bevy-pigeon","owner":"MitchellMarinoDev","description":"The bevy plugin for carrier-pigeon.","archived":false,"fork":false,"pushed_at":"2024-07-29T21:02:46.000Z","size":184,"stargazers_count":17,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-16T02:08:33.352Z","etag":null,"topics":["bevy","bevy-networking","bevy-plugin","gamedev","networking","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MitchellMarinoDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2022-03-09T15:20:53.000Z","updated_at":"2024-09-12T06:03:15.000Z","dependencies_parsed_at":"2024-07-30T02:22:13.012Z","dependency_job_id":"8eb9d2db-ffa2-46fd-b0f2-c1295c18af83","html_url":"https://github.com/MitchellMarinoDev/bevy-pigeon","commit_stats":{"total_commits":62,"total_committers":4,"mean_commits":15.5,"dds":"0.25806451612903225","last_synced_commit":"3e838467f5c682e1d2ff1f170fd1b70d2698a55c"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MitchellMarinoDev%2Fbevy-pigeon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MitchellMarinoDev%2Fbevy-pigeon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MitchellMarinoDev%2Fbevy-pigeon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MitchellMarinoDev%2Fbevy-pigeon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MitchellMarinoDev","download_url":"https://codeload.github.com/MitchellMarinoDev/bevy-pigeon/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230014409,"owners_count":18159826,"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":["bevy","bevy-networking","bevy-plugin","gamedev","networking","rust"],"created_at":"2024-12-16T19:29:15.018Z","updated_at":"2024-12-16T19:29:16.055Z","avatar_url":"https://github.com/MitchellMarinoDev.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bevy-pigeon\n\n[![crates.io](https://img.shields.io/crates/v/bevy-pigeon)](https://crates.io/crates/bevy-pigeon)\n[![docs.rs](https://docs.rs/bevy-pigeon/badge.svg)](https://docs.rs/bevy-pigeon)\n\nThe bevy plugin for [`carrier-pigeon`](https://github.com/MitchellMarinoDev/carrier-pigeon).\n\nBuilding on `carrier-pigeon`, this crate provides high level network abstractions to allow making a game a breeze.\n`bevy-pigeon` takes care of most of the networking for you, so you barely have to see it or think about it.\n\n### Add bevy-pigeon to your `Cargo.toml`:\n\n`bevy-pigeon = \"0.4.0\"`\n\n## Compatibility\n| `bevy` | `bevy-pigeon` | `carrier-pigeon` |\n|:------:|:-------------:|:----------------:|\n|  0.7   |      0.3      |       0.3        |\n|  0.8   |      0.4      |       0.4        |\n\n## Is bevy-pigeon right for me?\n\nSince carrier-pigeon uses TCP and UDP, it is usable and convenient for most all games. FPS games (and other games where\nprecise position is of the upmost importance) would benefit from a backroll solution like \n[bevy_backroll](https://crates.io/crates/bevy_backroll) or [bevy_ggrs](https://github.com/gschup/bevy_ggrs).\nThough, it is certainly possible to make an FPS with `bevy-pigeon`.\ncarrier-pigeon does not do any encryption, so for any game where security is needed (any other than a friendly co-op game)\nyou may want to look elsewhere.\n\ncarrier-pigeon/bevy-pigeon were made as a hobby project mostly to learn; there are likely some fun bugs to be found. I \nbelieve it is in a usable state, but there are likely better solutions. I am somewhat proud of the automatic component \nsyncing in this project. If you would like to put this in a more activly developed bevy networking lib, feel free to use \nthis as a referance/ for ideas. If you have any questions about the implemenation, feel free to ask.\n\nTCP is required for the connection cycle in carrier-pigeon, so if you want to target wasm, pigeon will not work for you.\n\n## Component Syncing\n\n\u003e \"The best networking solution is one you can't see\"\n\nYou can use `bevy-pigeon`'s component syncing by adding just 3 lines.\n\nThis component syncing allows you to simply say \"sync these components\" and `bevy-pigeon` will take care of it.\n\n### Do I have to use the Component Syncing feature?\n\nNo, but right now, it is really the only thing that `bevy-pigeon` offers. If you don't want to use the component syncing,\nyou can just use `carrier-pigeon` directly. Keep in mind, if you use `bevy-pigeon`'s component syncing you can\nstill use `carrier-pigeon`'s message system; the component syncing is purely an additive feature.\n\n## Documentation\n\nThe documentation can be found on [Docs.rs](https://docs.rs/bevy-pigeon)\n\nA quickstart guide that goes in more detail is found at [/quickstart.md](quickstart.md)\n\nAn in depth guide to the more advanced features is found at [/advanced.md](advanced.md)\n\n### Examples\n\n- A full 2-player pong/breakout game made with `bevy-pigeon` is available on \n[GitHub](https://github.com/MitchellMarinoDev/bong).\n- Check out the [`examples/` directory](examples).\n\n## Features\n\n- [x] Easy Component Syncing.\n\n### Planned Features\n\n- [ ] switching TCP to webrtc with a feature flag.\n\n## Contributing\n\nTo contribute, fork the repo and make a PR. If you find a bug, feel free to open an issue. If you have any questions,\nconcerns or suggestions you can shoot me an email (found in Cargo.toml) or DM me on discord `@TheHourGlass34#0459`.\n\nBy contributing, you agree that your changes are subject to the license found in /LICENSE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmitchellmarinodev%2Fbevy-pigeon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmitchellmarinodev%2Fbevy-pigeon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmitchellmarinodev%2Fbevy-pigeon/lists"}