A SceneReference wrapper class that uses ISerializationCallbackReceiver and a custom PropertyDrawerto provide safe, user-friendly scene references in scripts.
![alt text][1]
| Shader "Name" { | |
| Properties { | |
| _Name ("display name", Range (min, max)) = number | |
| _Name ("display name", Float) = number | |
| _Name ("display name", Int) = number | |
| _Name ("display name", Color) = (number,number,number,number) | |
| _Name ("display name", Vector) = (number,number,number,number) |
| using UnityEngine; | |
| using UnityEditor; | |
| using UnityEditor.SceneManagement; | |
| using UnityEngine.SceneManagement; | |
| // From https://gist.github.com/JohannesDeml/5802473b569718c9c86de906b7039aec | |
| // Original https://gist.github.com/ulrikdamm/338392c3b0900de225ec6dd10864cab4 | |
| // Adds a "Edit Prefab" option in the Assets menu (or right clicking an asset in the project browser). | |
| // This opens an empty scene with your prefab where you can edit it. | |
| // Put this script in your project as Assets/Editor/EditPrefab.cs |
A SceneReference wrapper class that uses ISerializationCallbackReceiver and a custom PropertyDrawerto provide safe, user-friendly scene references in scripts.
![alt text][1]
| # Unity | |
| *.cs diff=csharp text | |
| *.cginc text | |
| *.shader text | |
| # Unity YAML | |
| *.mat merge=unityyamlmerge eol=lf | |
| *.anim merge=unityyamlmerge eol=lf |