Search Issue Tracker
By Design
Votes
0
Found in
2018.3.0f2
Issue ID
1115120
Regression
No
Disabled scripts still call Awake function
To reproduce:
1. Open attached project "awakescript.zip"
2. Select "GameObject" from the hierarchy
3. Make sure that "Testing.cs" script is enabled
4. Enter Play mode
5. Observe the console "Awoken!" and "Starting" logs
6. Exit Play mode and disable the script in the game object
7. Enter Play mode and observe the console
Expected result: no logs are printed in Play mode when the script is disabled
Actual result: Awake function is still called even though the script is disabled
Reproduced on:
2017.4.0f1 2017.4.23f1 2018.3.8f1 2019.1.0b6 2019.2.0a8
Notes:
Reproduced with .NET3.5 and .NET4.x
If the Game Object is disabled then the function is not called.
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- UI Builder can't set a background image to a sprite from a multi-sprite spritesheet in the Resources folder
- Light2D freeform does not render the internal part when rendered in certain shapes
- Using AddCopyPass causes an incorrect merging of passes.
- Negative Enum value is not pasted correctly when copying from another array
- Silent Crash when generating Lightmap UVs for a model with a large object scale
Resolution Note (2019.2.X):
MonoBehaviour.Awake is always called, regardless of whether the MonoBehaviour is enabled or not. Awake acts as a replacement for the C# constructor from which you can all Unity APIs.