Search Issue Tracker

Not Reproducible

Votes

7

Found in

4.3.2f1

Issue ID

598763

Regression

No

Screen.width and Screen.height values in "OnEnable" function are incorrect

Scripting

-

When Screen.width or Screen.height are called in an "OnEnable" call in the editor and the component is enabled (i.e. by checking the 'enabled' box), the Screen.width and Screen.height that are reported are from the 'inspector' panel's size and not the game's view size.

Reproduced with:
Unity Version 4.3.2f1 (0517a5ae8669)
Unity Version 4.3.4f1 (e444f76e01cd)

Comments (14)

  1. huulong

    Nov 19, 2022 20:53

    The more recent bug report is here: https://issuetracker.unity3d.com/issues/screen-dot-width-slash-screen-dot-height-in-onenable-shows-inspector-window-size-when-the-component-is-enabled-by-a-toggle-in-inspector-window

    It has been closed as By design without explanation, so I re-opened a bug report and will post my updates on the more recent bug report until a new one is opened, or it is reopened.

  2. mboyle_tp

    Jan 25, 2022 12:38

    Still reproducible in 2021.2.3f1.

  3. Revolter

    Nov 10, 2021 13:23

    Still reproducible in Unity 2020.3.21f

  4. t1ny_bear

    Mar 16, 2021 15:31

    Same behaviour in version 2020.2.3f1.

  5. CDMcGwire

    Aug 13, 2020 00:40

    Still not resolved in 2020.1.0b14

  6. daxiongmao

    Jul 13, 2020 20:48

    I just saw this today on 2019.4.3f1. Gives me the inspector sizes when toggling the enable on and off and reading screen in the OnEnable function.

    The values are correct the very first time. After the game is running and toggling the enable in the editor the values return the inspector sizes.

  7. Ratatoeskr

    Mar 24, 2020 13:32

    I can admit that Screen.width has incorrect values in OnValidate, even when OnValidate is called during play mode.
    Unity 2019.3.6f1 (Windows)

  8. ouijahija

    Aug 22, 2019 11:05

    This is my code:

    private void AdjustZoom()
    {
    Debug.Log(Screen.height + ", " + Screen.width);
    }

    The function is called in OnValidate and it's Logging the height/width of the inspector window and not the game window (as it probably is intended!). When playing it's logging the game window height/width.

    Reproducible in Unity 2019.2.0f1!
    This thread is not resolved!

  9. Lumpazy

    Aug 13, 2019 17:11

    This IS SOOOOOO NOT Resolved.
    and it is Reproducible !

  10. SioHio

    Oct 12, 2018 13:53

    Still happens in 2018.2.10f1

    void OnEnable ()
    {
    Debug.Log (Screen.width);
    }

    differs from e.g.

    void Update()
    {
    Debug.Log (Screen.width);
    }

    if the gameobject is activated on runtime

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.