Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Static fields in changed code are lost upon reload

Abierto
#110 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
csharp, unity
Área
game-dev, tooling

Línea de trabajo

Reproduce el problema en Unity con una clase estática que contenga un campo Material obtenido mediante reflexión; después edita DrawReticleCircle y observa el registro OnScriptHotReloadNoInstance. Lee el manejo de hot-reload de los campos estáticos y determina si la pérdida del valor es esperada o constituye un defecto. Se considera terminado cuando el comportamiento se haya corregido o su limitación esté claramente documentada.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

feature

I am not sure whether this is expected behaviour or not, but I could not find any reference in the documentation to static fields not being supported.
I am trying to reload a static class that has a static Material field that is assigned on startup via reflection.
The static class content looks like this:

private static Material material;

public static void DrawReticleCircle(in ReticleDrawArgs args)
{    
    var position = args.WorldPosition;
    // ...
    Graphics.DrawMesh(mesh, trs, material, 0);
}

static void OnScriptHotReloadNoInstance()
{
    Debug.Log($"Post-reload, asset is {material} (null={material==null})");
}

After changing the contents of DrawReticleCircle, the script is reloaded but the value of material is lost.
The debug log reads: Post-reload, asset is (null=True)

I would expect for the value to be copied over, or for the new code to reference the field in the old assembly (if this is possible?).

Is this a known limitation or a bug? If it is a limitation, I think it is worth pointing out in the documentation.
Thanks.

Lenguaje dominante
C#
Estrellas
2.2k
Forks
167
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de handzlikchris/FastScriptReload

Todos los issues de handzlikchris/FastScriptReload

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.