{"id":19218287,"url":"https://github.com/greggman/hft-unity3d","last_synced_at":"2025-06-16T04:03:59.811Z","repository":{"id":18670550,"uuid":"21878944","full_name":"greggman/hft-unity3d","owner":"greggman","description":"Unity3D Libraries for HappyFunTimes","archived":false,"fork":false,"pushed_at":"2019-12-06T05:06:35.000Z","size":24003,"stargazers_count":32,"open_issues_count":7,"forks_count":11,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-06-10T17:07:43.028Z","etag":null,"topics":["game","games","happyfuntimes","localmultiplayer","smartphone","unity","unity3d","unity3d-plugin"],"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/greggman.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}},"created_at":"2014-07-15T23:02:48.000Z","updated_at":"2024-07-11T21:26:46.000Z","dependencies_parsed_at":"2022-09-24T18:23:49.923Z","dependency_job_id":null,"html_url":"https://github.com/greggman/hft-unity3d","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/greggman/hft-unity3d","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greggman%2Fhft-unity3d","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greggman%2Fhft-unity3d/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greggman%2Fhft-unity3d/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greggman%2Fhft-unity3d/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/greggman","download_url":"https://codeload.github.com/greggman/hft-unity3d/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greggman%2Fhft-unity3d/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260092988,"owners_count":22957572,"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":["game","games","happyfuntimes","localmultiplayer","smartphone","unity","unity3d","unity3d-plugin"],"created_at":"2024-11-09T14:26:06.083Z","updated_at":"2025-06-16T04:03:59.765Z","avatar_url":"https://github.com/greggman.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"HappyFunTimes-Unity3D\n=====================\n\n\u003e ## **DEPECATED**\n\u003e\n\u003e I'm deprecating happyfuntimes. I'll keep the rendevous server running for a while\n\u003e longer but I think it's unfortunately time to mostly depreciate this project\n\u003e\n\u003e i'll consider accepting PRs still if you want to fix something but otherwise just\n\u003e fork it if you want to keep using it\n\u003e\n\u003e ## Issues\n\u003e\n\u003e There are a few major issues on why\n\u003e\n\u003e 1. **device orientation is no longer usable**\n\u003e\n\u003e    Both Safari and Chrome have made getting device orientation require HTTPS\n\u003e    which is something HFT can't provide at the moment. It would require\n\u003e    $$$$$$$. If a end-user friendly solution comes up maybe I'll revisit\n\u003e\n\u003e 2. **Browsers break stuff**\n\u003e\n\u003e    Every year or so a browser changes something or breaks something. Over the course\n\u003e    of HTF browser broke fullscreen support, audio support, touch support, orientation support,\n\u003e    and other things. It's no fun to keep up on that\n\u003e\n\u003e 3. **OSes break stuff**\n\u003e\n\u003e    For whatever reason networking that work before stops working. HFT has to do\n\u003e    some things to find out all the ways your phone might connect to the game\n\u003e    and that stuff seems to break every 2 years or so\n\u003e\n\u003e 4. **Offline Support breaks**\n\u003e\n\u003e    Using HFT without internet breaks every few year and will likely eventually\n\u003e    be unfixable. Both iOS and Android ping Apple and Google respectively when you\n\u003e    connect to WiFi to check if you're acutally on the internet. HFT tries to send\n\u003e    them *fake* data so they believe they are, otherwise they'll stop using the WiFi\n\u003e    and switch to mobile.\n\u003e\n\u003e    How they do this changes every few years so HFT has to figure out how to change its\n\u003e    faking. It is within Apple and Google's power to make this faking impossible and\n\u003e    I supsect they might at sometime which is scary because if they do then there is\n\u003e    no solution (well, short of acutally providing internet access)\n\u003e\n\u003e 5. **More browser features require HTTPS**\n\u003e\n\u003e    This is really #1 and #2 repeated but more and more browser features require HTTPS\n\u003e    and as it says above there is no way for hft to provide HTTPS at the moment.\n\u003e\n\u003e ## Good news\n\u003e\n\u003e If you don't need device orientation and you have no need for offline mode/installation mode\n\u003e then HFT still works. Write your own controllers to keep up to date with the latest changes\n\u003e in the browsers.\n\u003e\n\u003e ## Bad news\n\u003e\n\u003e I don't really have time to keep it running.\n\n\u003cimg src=\"src/images/screenshot.png\" /\u003e\n\n[HappyFunTimes](http://docs.happyfuntimes.net) is a system for making game with 10-100+ players.\nPlayers connect using their phones. Nothing needs to be installed on there phone. They can join\nimmediately.\n\nThe controllers are made with HTML5 so you can customize them all you want. There is a simple gamepad\ncontroller included so you can get started without making a custom controller.\n\n## Install\n\n[Clear here to get it from the unity asset store](http://assetstore.unity3d.com/en/#!/content/19668).\n\n## Docs\n\n[Some more docs can be found here](http://docs.happyfuntimes.net/docs/unity/).\n\nYou can get this from the [Unity Asset Store](http://u3d.as/content/greggman/happy-fun-times)\nor you can [download it directly here](http://docs.happyfuntimes.net/docs/unity/samples.html?owner=greggman\u0026repo=hft-unity3d)\n\n## Changelist\n\n[See here](http://docs.happyfuntimes.net/docs/unity/changelist.html)\n\n## Cloning\n\nThis repo uses [`git lfs`](https://git-lfs.github.com/). To clone install [`git lfs`](https://git-lfs.github.com/)\nthen\n\n    git lfs clone https://github.com/greggman/hft-unity3d.git\n\n## Building\n\nIf you want to use this repo directly you should be aware of a few requirements\n\n### hft.js and hft.min.hs\n\nThese are generated from files in `src/hft` using webpack.\n\n#### Prerequisites\n\nmake sure you have node.js installed and type\n\n    cd path/to/repo\n    npm install\n\nThis will download the required libraries and tools\n\n#### building\n\n    cd path/to/repo\n    ./src/build\n\nNote I have no made build scripts for windows. Feel free to submit a PR.\n\n### sample-ui\n\nThe sample-ui is also in `src/hft` and is also generated with webpack\n\n#### Building\n\nFollow the instructions for `hft.js` above\n\n### The OSX installation mode server\n\nTo run installation mode requires administrator priviledges because it needs ports 80\nand 53. To achieve this on OSX we generate a separate web server program that is\nonly used in installation mode. This program is in `hft-server`.\n\n#### Prerequisites\n\nInstall the [Xamarin Platform](https://www.xamarin.com/platform)\n\n#### Building\n\n    cd path/to/repo\n    ./hft-server/build\n\nNote I have no made build scripts for windows. Feel free to submit a PR.\n\n## Dev Notes\n\n### macOS\n\nFor whatever reason I can't seem to get the output of the macOS external server\nto deliver debug messages. To test that you can put a `return;` at the top of\n`HFTManager.StartExternalServer`. Then run the external server manually something\nlike this\n\n    sudo  ~/Library/Application\\ Support/Greggman/hft-unity3d/hft-server --hft-args=\"{\\\"debug\\\":\\\"*\\\",\\\"dns\\\":true,\\\"installationMode\\\":true,\\\"controllerFilename\\\":\\\"controllers/gamepad/controller.html\\\"}\"\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreggman%2Fhft-unity3d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgreggman%2Fhft-unity3d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreggman%2Fhft-unity3d/lists"}