handzlikchris / handzlikchris/FastScriptReload
Swapping the order of field declarations lead to an unexpected results.
- Dominant language
- C#
- Stars
- 2.2k
- Forks
- 167
- PR merge metrics
- No merged PRs in 30d
Description
When script
``` C#
using System.Collections;
using System.Collections.Generic;
using Unity.Mathematics;
using UnityEngine;
public class Test : MonoBehaviour
{
int i1;
float i2;
void Start()
{
i1 = 1;
i2 = 1.5f;
}
void Update()
{
Debug.Log(i1);
}
}
```
swap the declaration positions of i1 and i2 and reload to
``` C#
using System.Collections;
using System.Collections.Generic;
using Unity.Mathematics;
using UnityEngine;
public class Test : MonoBehaviour
{
float i2;
int i1;
void Start()
{
i1 = 1;
i2 = 1.5f;
}
void Update()
{
Debug.Log(i1);
}
}
```
expected output was 1, but the actual output was 1069547520 (this is the value of a 1.5 as an integer in binary).
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the issue in Unity with the C# script and swapped field declarations shown in the report. Inspect the hot-reload field restoration path, focusing on whether fields are matched by declaration order; done means reloading preserves i1 as 1 and does not interpret i2's bits as an integer.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, unity
- Domain
- devtools, game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100