Search Issue Tracker
Not Reproducible
Votes
3
Found in
5.4.0f3
Issue ID
824186
Regression
Yes
[Gear VR] Application freezes when image with radial 360 method is filled
Reproduction steps:
1. Open the attached reproduction project
2. Build and run the project on Android device that supports Gear VR (Samsung Galaxy S6)
3. Move head/phone to point at the UI element "STARE HERE!" (on the right side)
4. If application doesn't freeze move away from "STARE HERE!" and repeat step 3
5. In about 10 tries the application will freeze
Regression introduced in 5.4
Comments (3)
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
- Project Auditor Analysis is not marked dirty when the save file is deleted even after reopening the Project Auditor window
- “Shader Graphs” text in the blackboard is hard to see
- "NullReferenceException" error is thrown when changing input field focus via script with custom validation
- The Tables in the Project Auditor’s Assemblies, and Precompiled Assemblies tabs does not scale with the Project Auditor window size which leads to unused empty space and bigger scrollbars in the tables
- Tile Palette button with longer Palette name is misaligned and cut-off when Tile Palette Clipboard overlay is resized
SaraYamit
Nov 21, 2016 03:50
I am having the same problem using Radial fill. Application runs fine on the editor but crashes in the mobile build.
ndelmas
Oct 24, 2016 06:00
Well scratch that. I was tired and mixing up the input held vs input down events. The coroutine starts once.
Ended up solving this simply by increasing the size of the canvas that contains the radial selection. I'm still not sure why this works exactly. Fix found here:
https://issuetracker.unity3d.com/issues/ui-android-slash-ios-changing-image-fillamount-causes-freeze-on-small-world-space-canvas-on-mobile
ndelmas
Oct 23, 2016 09:19
Can't see the reproduction project. But I encountered exactly this bug with the SelectionRadial script from the free Unity VR Samples pack. In case anyone else is looking for a solution to this here is some info.
There is a bug in the script, as long as the mouse input (or touch pad or what have you) is held down it keeps spawning infinite coroutines until the radial is filled or disabled. For some reason this worked in 5.3 but it causes performances issues in 5.4 which really should be expected.
A fix: I used an extra private bool m_StartFill initialized to true.
private IEnumerator FillSelectionRadial(){
m_StartFill = false;
...
}
private void HandleDown(){
if (m_SelectionRadialActive && m_StartFill){ //this prevents more coroutines from spawning
...
}
}
private void HandleUp(){
m_StartFIll = true;
...
}
And for good measure you probably want to stop the fill coroutine when the radial is hidden.
public void Hide(){
if(m_SelectionFillRoutine != null){
StopCoroutine(m_SelectionFillRoutine);
...
}