Search Unity

Can’t Upgrade until IOS Terrain Tree Bug is fixed ( Unity 4.3 and higher )

Discussion in 'iOS and tvOS' started by protopop, Jul 26, 2014.

  1. mbowen89

    mbowen89

    Joined:
    Jan 21, 2013
    Posts:
    635
    In my game, Farming USA, I didn't have a terrain. Then I added one in an update I did in the last couple months, and have your same problem. Very simple terrain and trees.

    Does it matter which tree you use?
     
  2. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241


    Farming USA looks amazing. What a great idea:)

    this is an external tree but i will try the scene with a Unity built in tree and see if it makes a difference.

    I built a smaller project file yesterday to showcase the issue. I will package it up and send it to Unity with a new Bug report. Hopefully they'll be able to use it to determine what is happening.

    It only takes one tree to slow the frame rate. Im using an A5 device - ipod touch 5 for my test because more powerful devices mask the slowdown using raw CPU power, but the performance hit is still there.

    In my project ive removed the tree collider, i am not generating colliders on the terrain.

    It's weird because you would think it wold depend on the amount oif trees, but it slows down whether it's 1 tree or 1000.

    It also only slows down when the camera is in motion or rotating. As soon as you stop moving the frame rate goes back up to 30.

    I thought if I rebuilt my entire game piece by piece i might find some solution, but as it stands now I have 2 options before February's 64bit law goes into effect:

    1 - Fix the bug in Unity (let's hope:)
    2 - replace my terrain trees with an alternate solution

    Ive been working on 2 just in case but i haven't been able to find something elegant yet that included billboarding and swaying trees. If anyone has any suggestions just in case the bug doesn't get fixed by February please let me know.

    I'm also waiting for the Unity rep to get back to me about buying Unity 5 and IOS pro 5 (although its been a few days so i think she must be busy and i might just get it online at this point) and i will test my game in it right away. I've heard its been fixed in 5 so maybe that will solve the problem:) Fingers crossed.
     
  3. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241
    BTW this post seems to describe the same thing:

    How does terrain and tree culling work?
    http://answers.unity3d.com/questions/378715/how-does-terrain-and-tree-culling-work.html

    "When i added tree instances into terrain, the similar thing happen in a more serious degree. when the camera rotate, frame rate drop a lot. profiler tells TreeRender.render are taking much cpu time, but when the camera doesn't rotate, it doesn't show up in the profiler. that's curios, seems that the tree will be doing render only when i rotate the camera, is it because the engine is render the tree object into the "tree billboard". and also fewer terrain parts holding same total amount of tree will get much superior frame rate."​

    Maybe there is some insight here.
     
  4. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241
    Well I just bought Unity 5 Pro and IOS Pro 5!

    As soon as I'm able i will test the project in it and post the results here:)

    UPDATE: i should have listened to my Unity 4 warnings that ".active" is deprecated. It's outright removed in Unity 5. I'm working through 191 errors and there are differences now. Whereas .active worked for multiple object types, now guitextures need enabled, gameobjects need setactive and so on.

    It reminds me a bit of what happened to Flash. It was so easy for artists like me to use at first. But with Actionscript 3 it became about the "right" way to code things at the expense of simplicity, and thus Flash became harder for artists to use. I guess this will result in better performance, but it makes things harder for artists to code;)
     
    Last edited: Nov 1, 2014
  5. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241
    Well my upgrade didnt go so well. There's so many changes to the API between 4 and 5, i ended up in an error message deadend. I think im going to go back to Unity 4 version of BrightRidge and make sure to clear all the warnings (which become errors in 5) before attempting to upgrade my game again.

    instead im going to try updating the test project i made to test the Tree bug. Its much smaller and simpler so maybe i can get it to work, then i can test and see if the bug is fixed.
     
  6. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241
    Unity 5 Update

    Unfortunately in my test the IOS Terrain Tree Regression still exists in Unity 5 beta 9. This brings up a few issues so here is what i'm thinking I can do:

    Submit New Bug Report With Project

    I created a small project that replicates the bug/regression. You can turn on and off a single tree in the scene and see it affect the framerate in Unity 4.5.5. Ill package this up and submit the report. Maybe this will help track down the bug. (BTW i was able to upgrade this smaller project to Unity 5. It has a great converter that fixes errors in upgrading. It didn't seem to work for my full game which is much more complex, but i am updating that again tonight and will try running the Script upgrader manually and see if that makes a difference)

    Result: Bug could be fixed allowing me to use versions of Unity higher than 4.2 including Unity 5, which i just bought with IOS and bug aside it looks quite cool. This would be the best solution:)

    Use Unity 4.2 as long as possible

    I'll continue working on BrightRidge Unity 4.2 and forget about upgrading my project for now. If we can somehow get IOS8 SDK and 64bit builds for 4.2 that would extend my ability to work on the game past Apple's 64bit/IOS8 February Deadline

    Result: Can update my game for at least the next 3 months and if we get backported IOS8/64bit support then i could work in 4.2 Beyond that

    Replace Terrain Trees with a custom solution

    Ive started on this in case. So far i can procedurally place trees as objects instead of terrain trees and performance, with LOD or some kind of Billboarding code could allow this. My challenges are this solution in my tests so far isnt as elegant, and i need to also figure out adding wind response to object trees. I deally being able to use Terrain Trees would be better

    Result: Can Upgrade my project to 4.3 and higher, including 5 but with some loss of tree aesthetic

    Remove trees from the game

    Well, this works technically. I upgraded , project to 4.5.5 and removed the trees and i get the same performance as i do with trees in Unity 4.2. But because the game really relies on trees i dont think this is an option

    Result: Cannot upgrade past Unity 4.2

    Drop Support for A5 and A6 Devices

    The iPhone 5S and higher seem to be able to overcome the bug somewhat due to the strong CPU/GPU. On a 5s and in Unity 4.3+ the game will play, albeit at a reduced framerate. But on iPhone 5 or lower the frame rate is too low to make it possible. I could possible release the original game for free (BrightRidge lite?) and branch off a new version for only higher end devices.

    Result: A last ditch solution that involves leaving behind some current customers, but it would let me continue development

    Stop the Game Development / Change Platforms

    If the regression isn't fixed and I cant create a good terrain tree substitute i may have to stop development on my games after February, but a lot can happen between now and then so I'm just going to think positive. Since 4.3 this situation has been a potential reality, so i just have to deal with it and accept it. It's a bit painful because i just dropped 1200$ on Unity 5 and at the moment it looks like I won't be able to use it. But I am hopeful that submitting my project will help, and i guess there is a bit of Que Sera sera:) I would like to continue my indie game development, but it's kind of sobering to realize that I might have to completely rethink it. That's the double edged sword of technology. When it works it's great, and I have to say that at least until Unity 4.2 for me Unity has really delivered. And if you don't need terrain trees in IOS I think the subtle advances in Unity 4.3 and higher are really good ones. Plus there is always Android, Mac and PC - i could focus on those platforms instead of IOS and continue development, and who knows, maybe eventually the regression will be fixed or there will be a new solution (Speed trees?) and i can catch up then. That's one thing that's cool about Unity is that it supprts so many different platforms that there is always another opportunity




     
    Last edited: Nov 1, 2014
  7. WhosTheBoss

    WhosTheBoss

    Joined:
    Jan 8, 2013
    Posts:
    53
    @protopop
    I did't read all your threads but is the slow frame rate happening on Unity Editor or iOS device?

    I have a similar problem:

    I'm testing my new game.
    On Unity Editor i get >100FPS.
    On my iPhone4S (iOS7) i set it to 30FPS and i'm getting roughly 30FPS.
    On my iPhone5S(iOS7) i set it to 60FPS and i'm getting roughly 57-60FPS.
    On my iPhone6(iOS8) i set it to 60FPS but the frame rate is dropping down to 20FPS.

    I really don't know WTH is going on. It looks like it's an iOS8 issue.
     
  8. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241
    From what I see the slow frame rate when you add trees only occurs on IOS and not in the editor. BUT my laptop is so powerful that it could be because despite a bug the editor plays the scene fast due to raw processing power. im not sure which case it is but i'm not comfortable enough with the profiler to tell if there is a difference, but so far I only see it on IOS.

    If you're exporting to IOS 8, i'm presuming your not using Unity 4.2 because in my tests i couldnt export to IOS8 from Unity 4.2 without the screen resolution being squished (see a few posts back). And if you're using anything higher than Unity 4.2 the IOS tree bug appears.

    In anycase i dont think im helping much by complaining (as worried as i am) so as soon as i finish my day job i will upload the IOS test scene in a new bug report (its done but im a few days behind on this) and i hope it will help devs track down the issue as its very reproducible.
     
  9. Smilediver

    Smilediver

    Joined:
    May 5, 2011
    Posts:
    70
    Hey. Sorry that this bug is taking so long to fix. I just want to let you know that programmer working on this is aware that recent fixes didn't fix the issue fully and will be taking a second look.
     
    protopop likes this.
  10. mbowen89

    mbowen89

    Joined:
    Jan 21, 2013
    Posts:
    635
    The good news is that Smilediver said that someone is going to be looking into it now. And I assume that it's about 100x easier to diagnose an issue on their end since they can debug all their internal code and see what the bottleneck is, etc.

    Hopefully some good news will arrive shortly! I assumed that the fix that was brought back from Unity 5 was probably never truly fixed in Unity 5 either since it didn't fix it in Unity 4.
     
  11. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241
    Thank you - I really hope it can be fixed.

    I just submitted a new bug report and included a project file that lets you toggle a single tree and see the frame rate change. Ill post the bug report number once i get the confirmation email.
     
  12. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241
    I filed the new bug report - i hope it helps

    IOS Terrain Tree Bug Report Filed with Project

    http://fogbugz.unity3d.com/default.asp?645432_8g3t6fer37o5pt4j

    (Open) Adding 1 or more trees to terrain slows framerate to
    Version
    4.5.5f1_7684ad0c5a44
    Computer
    OSX 10.9.4 13E28 MBP Intel Core i7 2.3 GHz 16 GB 1536 MB iOSSupport

    Opened 11/5/2014 (Today) 5:29 AM
    -e 1) What happened

    Adding 1 or more trees to terrain slows framerate to unplayable speeds on IOS devices (especially slower devices like A5)

    2) How can we reproduce it using the example you attached.
    -Open the "rebuild001" scene. Build for IOS and play it on an A5 Device like iPod Touch 5 (this is because on a slower device the frame rate change will be more apparent)
    - One terrain pine tree is active by default. try running (moves the camera) and watch frame rate drop (i got about 12fps here)
    - stop moving and when camera stops moving watch framerate go back up (i got 30fps here)
    - click "Toggle Tree" button to turn off single pine tree. Try running and frame rate stays high (i got 30 fps here). The toggle tree button changes to terrain tree distance to zero (0).
    - all it takes is one tree to make the frame rate drop.
    thank you
     
  13. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241
    I had to tell a user today that I couldn't include autorotation in my next update because I am stuck on unity 4.2. The autorotation fix for IOS8 is in a newer version of Unity:


    This is really impacting my game development. Even my $1200 upgrade to Unity 5 and IOS 5 pro is going to waste so far - I can't use it.

    I know someone is working hard on it, but I have to bump this because I literally do not know what to do except continue to inform my customers that certain upgrades just arent possible because of the Unity bug. I just don't have any information to work with here. If there's anything else I can do to help fix the issue or if there is any kind of information about it please let me know.

    Nimian Legends : BrightRidge 1.2.1

     
  14. MrEsquire

    MrEsquire

    Joined:
    Nov 5, 2013
    Posts:
    2,712
    Have you tried 4.6 rc and Unity 5 beta 12, best option, apologies if not read whole thread..
     
  15. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241
    Thanks MrEsquire:)

    Ive tried Unity 4.6 and Unity 5 beta 9 but they didn't work. I'll see if I can get a copy of Beta 12 (beta 9 was just the one that downloaded) and test it out. I've also submitted a bug report with a project so they can test the bug directly. I wish i knew enough about coding the actual unity app so i could help more:)

    Mama Bear in the Open Coast, BrightRidge
     
  16. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241
    I just tested my bug test project (a smaller version of my game) i unity 5 beta 12.

    It loads on my iPhone 6 but crashes on my ipad mini, ipod touch 5 and iPhone 5S at this point in xcode:

    GetLightmapSettings at LightmapSettings.cpp

    I need to test it on A5 or A6 because the iPhone 6 is so powerful i cant tell if the tree is slowing the frame rate because its cpu overcomes it (ie it isnt a good sample)

    the test scene loaded on all my devices ok in Unity 5 b9 so i guess there is a bug in the new beta, which is understandable because it's cutting edge.

    I guess i will wait until beta 13 and see what happens. Maybe 4.6 will get a new patch too.

    I don't know. I really love Unity, but for the past year with this problem really threatening my indie business i don't know what to think. Unity 5 looks really great, I just wish i was able to use it and move on from this:)

    Bosine and child wander the deforested hills of BrightRidge


     
  17. Smilediver

    Smilediver

    Joined:
    May 5, 2011
    Posts:
    70
    I think this bug was fixed today, so next beta should be fine. You can try the fix as it's in trampoline (if it doesn't work, then please submit a bug report):

    Code (CSharp):
    1. diff --git a/PlatformDependent/iPhonePlayer/Trampoline/Classes/UI/UnityView.mm b/PlatformDependent/iPhonePlayer/Trampoline/Classes/UI/UnityView.mm
    2. --- a/PlatformDependent/iPhonePlayer/Trampoline/Classes/UI/UnityView.mm
    3. +++ b/PlatformDependent/iPhonePlayer/Trampoline/Classes/UI/UnityView.mm
    4. @@ -5,8 +5,10 @@
    5. #include "Unity/GlesHelper.h"
    6. #include "Unity/MetalHelper.h"
    7. #include "Unity/DisplayManager.h"
    8. +#include "Unity/UnityMetalSupport.h"
    9. -#include "Unity/UnityMetalSupport.h"
    10. +extern bool    _unityAppReady;
    11. +
    12. @implementation UnityView
    13. {
    14. @@ -93,7 +95,7 @@
    15.      {
    16.          // we are not inside repaint so we need to draw second time ourselves
    17.          [self recreateGLESSurface];
    18. -        if (!UnityIsPaused())
    19. +        if(_unityAppReady && !UnityIsPaused())
    20.              UnityRepaint();
    21.      }
    22.  
    Re: 645432 - it was fixed for 4.5, so no more slowdowns on camera move/rotation. Fix should be out in 4.5.6p1 (next Thursday). 4.6 and 5.0 fixes will follow later.
     
  18. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241
    Thanks for the code - the more i see the more it makes sense.

    As for the slowdown fix, that sounds really hopeful. I don't know why it only occurs with trees but i hope its the fix. I wil definitely check it out as soon as it's released and will post the update here.

    thanks Smilediver for keeping us posted - i appreciate it.
     
  19. Mantas-Puida

    Mantas-Puida

    Unity Technologies

    Joined:
    Nov 13, 2008
    Posts:
    1,855
    protopop likes this.
  20. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241
    So far So good!

    I tested the test project i submitted for the bug and it's working. Without trees 30fps, with about 1000 trees - 26-27fps, which is very good. Much better than the 11fps with one tree.

    Im cautiously but very optimistic. Im goinf to upgrade and test my full project ow. If it works in 4.5.5p5 the same as in 4.2 then im free to upgrade. Ill post results here.

    Thank you very, very much for this. It's been over a year of uncertainty, and if this really works it gives me renewed energy and freedom to continue my indie development and use the new features in Unity since 4.3!

    Windmill Valley in Nimian Legends : BrightRidge Open World Wilderness


     
  21. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,055
    I looked at those release notes but didn't realize that "tree mipmaps" meant the problem was solved. I'm now getting great fps on iPad Air, and greatly improved (though still low 20s) fps on iPad 2. But that's with a lot of trees (about 10,000). Prototop, which device were you using?
     
    protopop likes this.
  22. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241
    I'm using an iPod touch 5. I also tried my full game with 1500 trees, inns, rivers etc and get a respectable 15 - 20fps. On A6 devices and up i should get even much higher. Anyways the issue so far is definitely fixed. I was literally dancing in front of my friend in celebration and he was like "you have a lot of energy now" and i was like "yup, this has been hanging over my head for a year and now its being fixed"

    Thanks very much to the Unity developer who fixed this - it makes huge difference in my life and i appreciate it:)
     
  23. mbowen89

    mbowen89

    Joined:
    Jan 21, 2013
    Posts:
    635
    So I guess this will be in a 4.5.6 release sometime soon to be officially working?

    Sweet!
     
  24. MrEsquire

    MrEsquire

    Joined:
    Nov 5, 2013
    Posts:
    2,712
    I hope by then we have 4.6 final with all the UI stuff and latest patches.
    And of course include this fix in Unity 5
     
  25. mbowen89

    mbowen89

    Joined:
    Jan 21, 2013
    Posts:
    635
    "There is the final patch before the official 4.5.6 release."

    Sounds like there will be an official 4.5.6 release! It looks like 4.5.5p5 was supposed to be an official release as 4.5.6 but didn't become one, just a patch, so maybe the next release will be 4.5.6f1 with the terrain tree fix.

    (645432) - iOS: Disable tree billboard mipmaps on GLES devices.

    So I guess all they did was disable the mipmaps for the tree billboards. I wonder if it was doing something funny like creating the mipmaps for the billboards too often or something like that, and why it wasn't an issue on Android? So now there are still tree billboards for iOS, just no mipmaps? Hmm... at least it's working, but is the problem really "fixed"? Just asking! I'm glad it's fixed enough to be usable again.
     
  26. Smilediver

    Smilediver

    Joined:
    May 5, 2011
    Posts:
    70
    I'm glad everything works for you guys. And sorry that it took so long to fix this, but sometimes important bugs get lost between the others. So it's good that you guys keep bugging us to fix them. :)

    The problem is that glGenerateMipmap needs to download RT's texture from GPU and do mipmaps on CPU. This is uber slow, so even 1 tree kills all performance on lower end devices. I'm not a GFX guy, so I have no idea why it's not a problem on Android... Maybe smarter drivers? So this is essentially "fixed" for 4.5. For 5.0 we're trying to figure out what would be a correct fix. We either disable, or maybe expose a terrain setting if for some reason you want mipmaps on your tree billboards. :)
     
    protopop likes this.
  27. mbowen89

    mbowen89

    Joined:
    Jan 21, 2013
    Posts:
    635
    Thanks! Sorry if this an annoying question, but do you know when 4.5.6f1 will be released then, and this will be in it for sure?
     
  28. Smilediver

    Smilediver

    Joined:
    May 5, 2011
    Posts:
    70
    AFAIK we're not doing any more 4.5 releases, as 4.6 is planned to be released next week. Also it could be that this fix will not make initial 4.6, as there was resistance to merge latest 4.5 fixes to avoid delaying 4.6. So further plan is to have a 4.6.0p1 next week after 4.6, and then 4.6.1 a week after that.

    I know these are famous last words, but you should be fine using 4.5.5p5 :)
     
    MrEsquire likes this.
  29. mbowen89

    mbowen89

    Joined:
    Jan 21, 2013
    Posts:
    635
    So basically 4.5.5p5 will be my 4.5.6? Hehe :)

    OK thanks for the info Smilediver, really appreciate it!
     
    protopop likes this.
  30. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241
    I'm downloading Unity4.6 now - but does anyone know if the tree fix from Unity 4.5.5p5 has been rolled into 4.6?
     
  31. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241
    In my test the fix isn't in Unity 4.6 but i read that some other 4.5.5p5 fixes will be rolled into Unity 4.6p1 so im sure it will be along soon:)
     
  32. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,263
    @protopop
    Do you tested the new Unity 5 beta 16?
    I can not read about it in the release notes but maybe you tried it.
     
    protopop likes this.
  33. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241
    I didn't know there was a new beta - thanks:) I'll give it a test as soon as I can and post here. I'm just glad that the fix exists so at least ill be able to keep updating my app after February. (also im excited to move to Unity 5 once and for all and see what I can do with it)
     
  34. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241
  35. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,263
    Hoped more for the U5 fix but this is also great :)
     
  36. Mons1999

    Mons1999

    Joined:
    Sep 24, 2012
    Posts:
    33
    Hi everybody !
    So glad it finally worked for you I've read the whole thread and I've had the same problem for three months.
    I also want to publish my game on the App Store so I downloaded the 4.5.5p5 patch, but the issue is still here (more than 8.0ms to calculate the Terrain.Trees culling when I rotate the camera...)
    I wanted to know if it finally worked with Unity 4.6.1 ? How is your performance now Protopop ?
     
  37. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241
    I honestly can't remember exactly (there was such a flurry of testing going on) :) but i do know that the last one i tested worked and im pretty sure it was the 4.6.1 one. But reading back it worked for me in 4.5.5p5 so im not sure why it would be slower for you. Maybe it is a bit slower but my problem was it was like night and day - either unplayable or working. I would try the 4.6.1, or actually 4.6.3 because we need to export to 64bit anyways so there isn't much point using anything that doesnt support IL2CPP (i can never remember how to spell that:) unless you've already submitted a build to apple in which case you could use 4.6.1 mono version until June (thats what im doing as a backup plan)

    If your game has trees im in - i feel like so few people work with them - can't wait to see it.
     
  38. Mons1999

    Mons1999

    Joined:
    Sep 24, 2012
    Posts:
    33
    Ok thank you for your answer.
    Did you activated something or you just downloaded the 4.5.5p5 patch ? Because even with the 4.6.1 version it still slows my game from 30fps+ to 19-20fps on iPhone 5S, even if the device is quite powerful... is it normal ? I have a normal 3325x3325m terrain with 4-5000 trees.
    Thank you remembering me that Apple doesn't accept anymore builds without 64 bits. I downloaded 4.6.3, but now my scene crashes at start and Xcode displays the message 'App quit because of memory issue'. Did you have the same problem ? How can I do to publish my game even if I don't have 4.6.2 or 4.6.3 ?
    PS: here 's a trailer of my game if you want to see what it looks like -
     
    protopop likes this.
  39. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241
    wow you tell a great story using the game engine. you make a good director , and this looks really ambitious. Thanks for sharing it:)

    I just downloaded the patch and installed it - nothing fancy. I do get the feeling that Unity after 4.2 is less stable with occlusion (even in 5) and other things, so i think there is an overall slowdown on mobile. But for me before the patch, adding even one tree was unplayable. so being able to have 5000 trees with 20fps IS the fixed version. I did test 4.6.2 to see if IL2CPP (or whatever its called - i can never spell that) worked, but I am using Unity 5 now because maintaining 2 code bases was killing me.

    If you have memory issue its probably too many large textures. A good way to test this is to goto your QUALITY setting and choose textures at 1/8th resolution (make sure it's for the platform you are exporting to) and then build that. If you have too many textures it will fill yup your devices ram and the game will quit. Lowering the texture size temporarily is good just to help track down the problem.

    Honestly i feel your pain, i was almost sick for a year because of this tree bug in Unity. And you need 4.6.2 at least to publish to the app store. My only advice is to try not to stress out about it because it is out of your control. Unity is fixing bugs quite quickly nowadays so continue to test in new releases and patches and if you find anything specific make a small test scene (it's a pain but thats what i did because my project file is like 8gb) and file a bug report. My game 'didn't work' many times and after a while i have tried to stop having a heart attack about it because it just isn't healthy for us as game developers. It's difficult when you rely on third party software like Unity because it's development is outside our ability to control (just like Unity got blindsided by Apple's 64bit requirement). But usually with enough research and testing you can find your bugs and get it to build. Plus the IL2CPP is still very buggy so it may be a few patches before you get a smooth build again. Don't give up - you obviously have the soul of a game designer based on your trailer.

    BTW one mor ething - you can always focus on another platform while you wait for IOS issues to sort out. You don't need IL2CPP to export to android so you can use an early version of Unity. Thats how i ended up focusing on the Mac PC version of Nimian Legends : BrightRidge.

     
  40. Mons1999

    Mons1999

    Joined:
    Sep 24, 2012
    Posts:
    33
    Thank you for the advice to switch to Unity 5 it took a little bit of time to upgrade but now the performance is great : 0.1ms for calculating the same number of trees, even if the camera rotates !

    Yes I also can't release until this is solved now I understand what you felt...I also understand why big companies prefer using their own engines. But Unity is a great game engine so I just hope IL2CPP will get fixed soon. Thank you for your support ! :)

    And you're totally right ! I was so focused on iOS development that I didn't thought one second that I could first publish on Android. Thanks again for the advice ;)

    PS : your game graphics are gorgeous ! The screenshots are taken from Unity 5 builds ? And what do you do to have good performance on iOS devices with such detailed levels ?
     
  41. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241
    yeah, the screenshots are Unity 5 - the lighting in the new engine is gorgeous, and the Physically Based Shaders work really, really well. For performance honestly I just dropped supporting A5 devices. I was killing myself doing that and really limiting the game development. Im a solo dev and all my stress was building up from people unhappy with theA5 version and sending a lot of nasty comments, so it was becoming a lose lose situation. I know we're supposed to have a thick skin but I do my best and have feelings too;)

    Anyways I'm really glad to hear about the upgrade, and yes i understand about proprietary engines now too. We're dependent on Unity and Apple and we have to plan they they can make regressions (like the tree bug for a year) or requirements (like 64bit) that can leave us scrambling to update our workflows. Now that I understand this i try to be more relaxed about the situations and realize I cant rely too heavily on any one status quo. I guess game dev is all about experiences and learning from them, so we can get our artistic visions out in a way that doesnt kill us. Just make sure you diversify and have alternate plans, and be sure to take time to rest and relax during the whole thing - it's supposed to be fun (and most of the time it is:)

     
  42. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,055
    I'm impressed that you dropped support for A5 devices--but isn't that like 50% of ipad user base? Have you noticed any impact on sales?
     
  43. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,241
    im dropping it in the next update, which will be a new binary. A couple of years ago it was feasible to support all devices, but now the difference between an iphone 3 and iphone 6 is too great. Its like trying to make xbox one games work on the original xbox. I think we have to realize there's Apple fragmentation and adjust strategies accordingly. And for an Open World Wilderness like BrightRidge, it just wasn't working reliably on A5 no matter how many compromises i made. I think it will have a beneficial impact on sales as well because literally 100% of my 1 star reviews were from A5 users who had the game crash. I worked really hard to optimize the game in the second update so that it could work on A5 devices at all (1.0 never worked and now it often does) but it's just too much of a negative experience to keep it up. This way it will just work on the devices that support it and not let anyone down who has a device it doesn't support. To sum it up, you can't please everyone, so i'm going to focus on the people i can share a positive experience with.

     
unityunity