Welcome to another State of the Game! This week, I began doing a lot of the part planing and stats reworks and that lead me to looking at the garage UI. Once I started looking at the UI and planning ways to update it all, the question about switching over to Unity 5 kept popping up in my head. So I thought I would take a look at it. This was after working for about 4 hours to convert the project over:
Well…. So, some pros and cons:
- Nothing works
- Really NOTHING WORKS
- Animations don’t work
- Sound doesn’t work
- Shaders don’t work
- Performance is about 100 times worse
- None of my data formats work anymore
- Steam integration doesn’t work
- Profile data doesn’t work
- AI doesn’t path anymore
- Didn’t get to test multiplayer
- Skyboxes don’t work correctly
- Input doesn’t work
- 64 bit editor
- Other things that are supposed to be better but currently don’t work at all.
Well, that didn’t really go as planned. All hope was not lost though! Maybe these issues are minor and I would be reaping the rewards of Unity 5 soon. So I did a breakdown for how long it would take to be using Unity 5 features. All this data was gleamed from combing through error logs, estimating what the issues were, and then reading documentation for the new Unity features.
First step, fixing the input system. The underlying system changed a bit, which has a cascading change that affect the whole system, including how I save the inputs. Estimated time : 2 weeks
Getting steam to work is a bit simpler, as I would just need to convert over to a 64 bit API, but that would also require updating the SDK version I am on, which has some changes to it as well. Estimated time: 1.5 weeks
Speaking of 64 bit systems, I would have to update the installer and system requirements to be 64 bit, or I could maintain 2 code paths. I would need the 64 bit no matter what since the editor is 64 bit now. Estimated time: 1 week
Shaders would need to be redone to work with the new PBR lighting model in Unity 5. I have never done PBR shading, so I would have to learn as I went. Estimated time: 3 weeks
The older animation system I am using was actually outdated in Unity 4 and it looks to have been mostly gutted in 5. I would need to resetup all the leg animations, the new IK system, re-code a system for the foot placement, and hook it all in with the new Mechima system. This one has a LOT of unknowns. Estimated time : 6 weeks
The sound system changed, though it doesn’t seem to be a huge deal. Estimate time : 0.5 week
AI not pathing seems to come from changes to the NavMesh system, so rebaking all the data and making some small code tweaks should handle it all. Estimated time : 1 week
There are a lot of unknowns, like the performance and the skybox. I am over estimating here, but that is because I was not able to track down a solid enough cause for the brokeness. Estimated time : 4 weeks
So lets add all that up and we get: 19 weeks, or nearly 5 MONTHS to just get back to the current state we are in. That basically would be committing to making no updates until next year, and then that update would look the exact same, but be in Unity 5.
Then, we could easily take on a few more months before I would actually be taking advantage of using and of the new features and it looks even more grim.
So, then the question that comes is “Can I finish this game using Unity 4?”. The resounding answer to that is YES. I started this project in Unity 3.5 and went through a few unity updates. I could have shipped this game using Unity 3.5, to be perfectly honest.
It was at that time I decided that I would not be updating the engine any more during the development of M.A.V.. While this might seem like bad news to some, it’s an inevitable point that every game project goes through and it signifies that things are getting closer and closer to being finished.
That is all for this State of the game! I hope you enjoyed my breakdown of the update and I would love to hear any feedback you have about it! See you next time!