Austin Hackweek: Operation Build Awesome Things

February 25, 2016 in Community, Services, Technology

In early February, Unity engineers from Ads, Analytics, Cloud Build, QA and R&D combined forces in Austin, Texas for a hackweek with a mission to build great things.

Hackweeks are one of the ways we encourage creativity and innovation at Unity. In the past we’ve hacked on projects that resulted in real products for you to use (e.g., Heatmaps for Unity Analytics). This is time engineers get to spend experimenting on new technologies, mashing up different systems, and working directly alongside teammates with whom they don’t ordinarily interact.

So, how do hackweeks work?   

  1. Weeks before the hackweek begins, all of us engineers brainstorm innovative, exciting project ideas. By the time this hackweek week started, we had almost fifty candidate projects.  
  2. At our kick-off session, the engineer that contributed each idea presents it. Teams organically form around the most compelling projects.
  3. Hack. For a week.

Eleven ideas made it through this process to become hackweek projects.

Projects included:

  • Unity Package Manager (UPM) – Are you an Asset Store developer tired of having to package all of your dependencies with your plugin, then dealing with conflicts when other plugins ship the same dependencies? Or are you a game dev tired of importing conflicting plugins that don’t play well together? Unity Package Manager (UPM) solves this by letting each plugin declare dependencies instead of shipping dependencies. UPM downloads the correct version of each dependency the Unity project needs, avoiding dependency clash. Even supports deeply nested dependency management.
  • Asset Bundle and Content Update Service (ABACUS) – Having to deploy a new build just to update some asset bundles is inefficient. It takes time and makes your project less agile. ABACUS builds asset bundles through Unity Cloud Build, then hosts them. The developer can define rules allowing the game to dynamically fetch the correct bundles at runtime.
  • WebGL Arcade – Last year we launched http://madewith.unity.com/, a platform for game devs to showcase their work made with Unity. The WebGL Arcade takes this idea further by creating a portal where you can upload your game’s demo to increase discoverability.
  • Native AR for Unity – Currently to get AR running you need to install a toolkit. This project allows you to get marker tracking using only C#. And yes, this means it can even run in WebGL! Using simple and extensible APIs, devs can start including AR elements in their project in just a couple of minutes.
  • Fast Track Puzzles – When your company makes a world-class game engine, finding new engineers to work on services (where we don’t, alas, touch a lot of engine code) is hard work. Fast Track Puzzles is a set of fun, mind-teasing puzzle games intended to attract top-notch services engineers to Unity. Along the way, it exposes the player to issues similar to those they’d face as an engineer working on any of Unity’s services. If we build it, will they come?
  • Lightmap Baking in the Cloud – Currently global illumination baking is disabled in Unity Cloud Build. If you want lighting, you’ll need to bake locally and commit your updated lightmaps to source control before kicking off the build. This project allows you to enable Unity 5.X lightmap baking in Unity Cloud Build. The work the editor normally does would be distributed across a network of machines and performed in parallel. By leveraging a shared GI cache, subsequent builds can be much faster.
  • Influencemaps Last year Unity Analytics introduced heatmaps, which help you visualize where in space important events occur. For example, where in your game does the player kill the bad guys? Influencemaps fold heatmap data back into the runtime to make AIs smarter. By applying heatmap data at runtime and reweighting a NavMesh, AIs effectively learn to be “afraid” of spots where they often get killed and avoid them. You can even forego heatmaps and simply use bitmaps, allowing you to optimize your AI whenever you want without having to release a new binary.
  • Unity Parse –  Days before our hackweek, Facebook decided to sunset Parse and release it as an Open Source project. Parse is basically a backend-as-a-service, which also allows you to write your own server logic in javascript. We modified Parse to be able to write server logic in C#.  Write C# server code in the Editor, and with a push of a button deploy it to our Parse-powered backend. With this, Unity developers can have client side logic on the backend, without knowing how to write any server code, and with the comfort of C# and the Unity Editor. We enabled this by deploying Bridge NET on the backend, which runs Mono and means we can include UnityEngine DLLs and other DLLs on the server.
  • Log Processing with Logstash – The editor generates lots of logs. This project was an exploration of using the popular Logstash log parser on Unity logs directly to provide added meaning. Some of the improvements implemented included: dropping empty lines for cleaner output, extracting workspace sizes, and even inserting tags on events for later processing by other tools in a clean and simple fashion. We also explored some of the limitations and strengths of Logstash both in general and in our environment.
  • Anomaly Detection On the Analytics team we care about your game succeeding.  This project prototyped the ability to detect data anomalies that might occur in your game. For example: sudden spikes, dips, level changes, trends and extreme values. These detectors track value changes over time and report when those values fall outside expected norms. They do not require ad hoc threshold tuning and their scores can be used to control false positive reporting. While not everyone is a data nerd, Anomaly Detection can explicitly point out parts of your data that just don’t “look right” so developers can respond to changes in a timely manner.
  • 3D Internet VR is kinda big right now. This project reinterprets the internet experience by taking the user into a 3D space with portals to explore several popular websites.  Each site functions as its own 3D space, allowing a user to fly through YouTube videos, read the latest articles on reddit, or scan cat pictures on instagram.

When can you expect any of these projects to become actual Unity products? TBD. We’ll need to properly scope and plan each project to determine whether it would benefit our users and fit neatly into our roadmap. Of course we love feedback from our community to help decide which ones we should move forward with. So please comment here and let us know which projects excite you! Or if you have ideas you want worked on, we appreciate feedback on that front as well.

As always, all of our teams are growing and actively hiring. Want to participate in our future hackweeks? Join Unity Technologies! We’ve got many open positions here: http://unity3d.com/jobs

P1250360
P1250368
P1250373
P1250374
P1250376
P1250380
P1250392
P1250395
P1250396
P1250397
P1250400
P1250401
P1250409
P1250415
P1250457
P1250467
P1250473
P1250479
P1250498
P1250516

Related posts

Comments (25)

Subscribe to comments
  1. test

    April 18, 2016 at 12:56 pm / 

  2. Julia

    March 21, 2016 at 5:59 pm / 

    Como vai?
    Curti muito o post!
    Por mais blogs como este.
    Julia https://q48.exposure.co/q48-funciona-mesmo

  3. Chris

    March 10, 2016 at 7:41 pm / 

    Discoverability on the web has always been a challenge, so that WebGL Arcade is a welcome idea!

  4. Jono

    March 6, 2016 at 11:17 am / 

    I think UPM is really important.. Something like this should be implemented soon to help plugin devs and also to save a lot of troubles for Unity user..

    Parse would be awesome.. Thanks.

  5. rez

    March 5, 2016 at 7:23 pm / 

    http://

  6. TaylanK

    March 2, 2016 at 5:27 pm / 

    Parse! Parse! Parse! It would go a long way to enable curation of user experience and live ops for Unity apps without having to rely on awkward 3rd party SDKs.

  7. Mike

    March 2, 2016 at 3:21 pm / 

    Unity Parse sounds really hot for me. I’m so passionate about multyplayer games buildin and this solution will take a lot weight off my shoulders. I’ll cross my fingers!

  8. FWCorey

    February 29, 2016 at 9:07 pm / 

    “Influencemaps – Last year Unity Analytics introduced heatmaps, which help you visualize where in space important events occur. For example, where in your game does the player kill the bad guys? Influencemaps fold heatmap data back into the runtime to make AIs smarter. By applying heatmap data at runtime…AIs effectively learn to be “afraid” of spots where they often get killed and avoid them…”

    I remember talking about this idea with some Unity peeps a couple of years ago at GDC14. Didn’t have the time budget in the end to implement it so I’m looking forward to seeing how you guys did it! :)

  9. Matt

    February 29, 2016 at 6:45 pm / 

    I hope that UPM and Unity Parse can make it onto the roadmap. UPM is a must.

    Regarding ABACUS, I would agree that having to deploy a new build just to update some asset bundles is inefficient, but I think the root causes of that should be dealt with rather than just offloading it onto Unity Cloud Build.

  10. Ashkan

    February 27, 2016 at 11:57 am / 

    Actually I had a feedback ticket for UPM, That and abacus and the parse with C# on the server are very nice too.
    The UPM thing seems critical to me. You don’t believe how much time one sometimes need to spend in the editor fighting with plugins specially on mobile projects which number of them is usually higher. Suddenly some plugin doesn’t match something and you get crashes. Many plugins like facebook are used by many others and the pace of updates is high and … I guess you know the issues and besides , these days every platform has a package manager, NPM, Nuget and … Go, Rust, python, ruby everyone has it and that has a reason :D

    1. Alex

      March 3, 2016 at 6:44 pm / 

      Thanks! I know the pain of plugin management very well; as a former Asset store developer a substantial amount of my time was spent figuring out what combination of colliding dependencies was causing my plugin to break.

  11. Shildrak

    February 26, 2016 at 9:50 pm / 

    Great projects to choose from. Most excited about Native AR, but agree with Theo – markerless is a requirement.

  12. MATT W

    February 26, 2016 at 5:09 pm / 

    I think the development of Unity Parse would make a lot of sense. Unity is all about democratizing multi-platform game development. It would keep things simple for us developers, tie in nicely with Unity’s other online services and would also provide an extra revenue stream for Unity.

  13. Theo Lagendijk

    February 26, 2016 at 12:20 pm / 

    I would love to see the results of the “Native AR for Unity” hack project. That project has my vote!
    Marker tracking is one thing, but if that it means the sort of “QR like markers” that I saw in your photos, it would even be greater if native AR would include “markerless” AR, like;
    – Reference Image ( photo / illustration ) tracking
    – 3D ( SLAM / Point Clouds / CAD based ) tracking
    – Location Based ( GPS, compass, beacons ) tracking
    I know that there is a huge market for that sort of technology.

    Have fun!

  14. Jose

    February 26, 2016 at 11:29 am / 

    If your not going to continue Unity Parse, please release it as an open source, we would like to have it asap.

    UPM and ABACUS are also really interesting.

  15. Ken

    February 26, 2016 at 4:20 am / 

    $Billions of Dollars are pouring into AR and VR development through private and public funding!!! Native AR & VR for Unity is going to be essential!!! Again….$Billions!!!

  16. Brendan

    February 26, 2016 at 1:14 am / 

    @Emiliza

    Do you know if the Cloud lightmapping means Distributed LAN lighting builds are in a good shape, or is it just like regular builds but with the team providing API/UI for launching it on the cloud?

    1. Emiliza Gutierrez

      February 26, 2016 at 6:56 pm / 

      The former! The goal of that hackweek project was to make it so that builds with lighting just work without APIs or additional work from the developer :)

  17. koblavi

    February 26, 2016 at 12:50 am / 

    Stuff I want in the roadmap!
    – Unity Parse! (well call it…Uniparsity!)
    – UPM!
    – Abacus

    Awesome stuff. I remember back in the day when this was called Ninja Camp :) Good thing you’ve not given it up as the company has grown in size.

  18. Mike

    February 25, 2016 at 10:50 pm / 

    Logstash processing would be very useful, that has my vote!

  19. Wasstraat65

    February 25, 2016 at 9:56 pm / 

    UPM sounds wonderful! Please let this happen, it is exactly what we need as asset store developers! Currently managing packages and inter-asset-dependencies is a mess and tedious work for the users.

  20. L

    February 25, 2016 at 8:30 pm / 

    UPM please!

    Unity Parse and ABACUS too

  21. T Ray

    February 25, 2016 at 8:25 pm / 

    @Emiliza, thanks for sharing. We’ve tried to run similar hack weeks. I’m curious on whether you put any guidelines around the projects? i.e. do they have to be tangential to Unity’s business or are those the ones that just happen to get traction? We’ve done both, and I tend favor a few more guidelines than just “anything you can think of”. Thoughts?

    1. Emiliza Gutierrez

      February 25, 2016 at 8:35 pm / 

      We’ve done a mix of both. Of course projects that are directly aligned with our product get the most upvotes, but we’ve never declined projects that we could never ship. We do make it a rule that you cannot work alone, so as long as you can convince another soul to join you- it’s fair game!

  22. CoderDawson

    February 25, 2016 at 7:03 pm / 

    So many of these projects sound great. I would say vote for: Native AR for Unity, Unity Parse, ABACUS, UPM, and Lightmap Cloud Baking. I would also like to see Fast Track Puzzles but that is more for me to play around with; it seems like it could be a good teaching tool as well.

Comments are closed.