{"id":16162418,"url":"https://github.com/sunsided/unity-portals-experiment","last_synced_at":"2026-05-17T01:45:52.244Z","repository":{"id":141993014,"uuid":"239327782","full_name":"sunsided/unity-portals-experiment","owner":"sunsided","description":"Toying around with portals in Unity.","archived":false,"fork":false,"pushed_at":"2020-02-21T11:21:11.000Z","size":89,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-07T03:47:57.437Z","etag":null,"topics":["portals","rendering","unity","unity3d"],"latest_commit_sha":null,"homepage":null,"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/sunsided.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":"2020-02-09T15:34:25.000Z","updated_at":"2020-02-21T11:21:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"89b2bd4e-5659-4fc9-89e3-866fe9f432a4","html_url":"https://github.com/sunsided/unity-portals-experiment","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sunsided/unity-portals-experiment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2Funity-portals-experiment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2Funity-portals-experiment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2Funity-portals-experiment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2Funity-portals-experiment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sunsided","download_url":"https://codeload.github.com/sunsided/unity-portals-experiment/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunsided%2Funity-portals-experiment/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265281124,"owners_count":23739863,"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":["portals","rendering","unity","unity3d"],"created_at":"2024-10-10T02:30:04.892Z","updated_at":"2026-05-17T01:45:47.205Z","avatar_url":"https://github.com/sunsided.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Playing with Portals\n\nAn attempt at re-implementing [Sebastian Lague's\nCoding Adventures: Portals](https://www.youtube.com/watch?v=cWpFZbjtSQg).\n\n![](.readme/editor.jpg)\n\n## Implemented features\n\n- Rendering of portals (only) when in view, and\n- Teleportation between portals.\n\n## Missing features\n\n- Recursive portal rendering,\n- Momentum, a function of mass and velocity, is conserved between portals;\n  in layman's terms: Speedy thing goes in, speedy thing comes out.\n\n## Current issues\n\n- So far, rendering the portals works eratically, with the player\n  being either not relocated at all or being moved too far.\n  In essence, while \"ownership\" of the player is transferred to the\n  linked portal, the location isn't updated. This might be an\n  issue with the FPS controller used, and further investigation is needed.\n- Portals are being rendered too late which results in a lagged update.\n  This can be observed by moving the view quickly when close to a portal;\n  the portal's \"screen\" then seems to wander around.\n\n## Open ideas\n\n- Limiting the portal's own cameras to only rendering the scene\n  visible _through_ the portal. Right now, the whole view is rendered\n  and then projected onto the portal; instead, fiddling with the\n  camera's frustum or using clipping by fiddling with the Z buffer\n  may improve performance.\n\n## Third-party packages\n\n- [dantogno's First Person Character Controller](https://github.com/dantogno/first-person-character-controller),\n  an FPS controller based on Cinemachine.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunsided%2Funity-portals-experiment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsunsided%2Funity-portals-experiment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunsided%2Funity-portals-experiment/lists"}