{"id":28612592,"url":"https://github.com/incantium/scene-management","last_synced_at":"2025-07-22T09:34:12.846Z","repository":{"id":286859983,"uuid":"896968165","full_name":"Incantium/Scene-Management","owner":"Incantium","description":"Reference scenes from within the Unity Editor.","archived":false,"fork":false,"pushed_at":"2025-04-08T18:44:01.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-20T10:08:31.616Z","etag":null,"topics":["csharp","missing-feature","package","scene-management","unity"],"latest_commit_sha":null,"homepage":"","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/Incantium.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,"zenodo":null}},"created_at":"2024-12-01T18:36:42.000Z","updated_at":"2025-04-08T17:21:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"8b0762a0-d3ee-4fa4-8003-231c571e45f3","html_url":"https://github.com/Incantium/Scene-Management","commit_stats":null,"previous_names":["incantium/scene-management"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Incantium/Scene-Management","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Incantium%2FScene-Management","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Incantium%2FScene-Management/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Incantium%2FScene-Management/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Incantium%2FScene-Management/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Incantium","download_url":"https://codeload.github.com/Incantium/Scene-Management/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Incantium%2FScene-Management/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266465587,"owners_count":23933155,"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","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"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":["csharp","missing-feature","package","scene-management","unity"],"created_at":"2025-06-12T00:09:08.420Z","updated_at":"2025-07-22T09:34:12.814Z","avatar_url":"https://github.com/Incantium.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Scene Reference\n\n![Unity version](https://img.shields.io/badge/2022.3+-cccccc?logo=unity)\n![.NET version](https://img.shields.io/badge/Standard_2.1-5027d5?logo=dotnet)\n![C# version](https://custom-icon-badges.demolab.com/badge/9.0-67217a?logo=cshrp)\n\n## Overview\n\nNormally, you cannot reference to a scene through the Unity Editor. Instead, you have to use string-based lookup or the\nbuild index to load in new scenes, both of which are highly unreliable and prone to errors. Just changing the name of \nthe scene or its index, and the whole game breaks.\n\nThis package makes it possible to create a referencable field within the Unity Editor to reference scenes. Because this\npackage is build-safe, it can be safely used in your Unity games. And with a reference to the scene, you don't have to\nworry about changing names or its build index.\n\n## Installation instructions\n\n- Open the [Package Manager](https://docs.unity3d.com/Manual/upm-ui.html) in a Unity project.\n- Click on the \"+\" button to add a new package.\n- Click on \"Install package from git URL...\".\n- Put in `https://github.com/Incantium/Scene-Reference.git`.\n- Click on \"Install\" or press enter.\n- Enjoy!\n\n## Workflow\n\nOriginally, you may have code like this:\n\n```csharp\nusing UnityEngine;\nusing UnityEngine.SceneManagement;\n\npublic class ExampleClass : MonoBehaviour\n{\n    [SerializeField]\n    private string scene;\n\n    private void Start()\n    {\n        SceneManager.LoadScene(scene);\n    }\n}\n```\n\nBut with a SceneReference, you can enhance it to this:\n\n```csharp\nusing Incantium;\nusing UnityEngine;\n\npublic class ExampleClass : MonoBehaviour\n{\n    [SerializeField]\n    private SceneReference scene;\n\n    private void Start()\n    {\n        scene.Load();\n    }\n}\n```\n\n## References\n\n| Class                                    | Description                                                                                   |\n|------------------------------------------|-----------------------------------------------------------------------------------------------|\n| [SceneReference](API~/SceneReference.md) | Class responsible for creating a referencable field in the Unity inspector for a Unity scene. |\n\n## Frequently Asked Questions\n\n### Which Unity versions are compatible with this package?\n\nThis package is heavily tested in `Unity 2022.3.44f1` and `Unity 6000.0.25f1`. It is expected that this package also\nworks in older and newer versions of the Unity Editor because it is not dependent on any other Unity package.\n\n### How likely is a scene reference to break?\n\nEvery package made for Unity has the same problems as Unity itself, namely that some things can break. In this case, the\ncached name of the scene it is referenced to can get out of sync. \n\nThis package is made in such way that changing the name of the scene, even while not loading this reference, will not\nget the cached property out of sync. Throughout all the usage in different Unity projects, not once did it break.\n\n### Can this package be used with others?\n\nThis package is automatically integrated with the [Required](https://github.com/Incantium/Required) package, also from \nIncantium.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fincantium%2Fscene-management","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fincantium%2Fscene-management","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fincantium%2Fscene-management/lists"}