Unity GDC Keynote Braindump
Dump of all my notes from the Unity keynote (if you have 2 hours to kill you can watch the whole thing here:Ā https://www.youtube.com/watch?v=cmRSkHl-Gv0Ā ) Real info starts at 10ā²ish min and very watchable at 1.25x speed.
2018 feels like the biggest core engine update in a while, maybe since I started using unity. The new ECS system, the Scriptable Render Pipeline, the shader graph, gpu accelerated light mapping, vector art support, the inclusion of Probuilder, Nested Prefabs (and presumably an improved asset serialization system to support said nested prefabs), . Those are all amazing and should make day to day working with Unity infinitely more pleasant and Iām so happy to see them arriving.
Itās hard to care about all the fancy bells and whistles in the high definition pipeline since realistically Iāll never have the team or the funding to produce the required assets. Itās great that theyāll talk about stuff like photogrammetry but that only matters if you can make your bespoke assets to the same level of quality. Iām sure there are some small teams with amazing artists that will be able to fully leverage this but itās just not my wheelhouse.
All the talk aboutĀ āfilmicā effects and storyboarding scenes also misses me entirely. Itās all very pretty and interesting but is very far from what I do. Iād love to see some more focus on interactive environments and play in the demos in the future.
A lot of the performance talk is really nice to hear and Iām happy to see it as a focus. Iām hoping that people are also considering performance from the perspective ofĀ ārun as efficiently as possible.ā Thermals and battery drain are a major concern for a huge set of devices (e.g. nintendo switch, standalone vr headsets, magic leap, mobile devices).
Blah stuff: using machine learning to try and show player the right microtransaction promotions, focusing on playable ads when talking about minimal runtimes and startup times. I get that thereās an entire industry around this stuff but it feels like stuff you could talk about in side sessions, itās hardly inspiring.
Curious Stuff: I donāt think the VR editor was mentioned at all? I was curious to see the current state of things, there. No mention of Unity Hub either, was hoping to hear itād become the default launcher in 2018.
Raw Notes ----------------------
Using ML in game development
ML-Agent imitation learning - learns behavior and play from real player interaction
Example of a racing game using ML to learn strategies for cpu racers
Agent maintains course after 30s of training
Agent plays well after 5min of training
Q: Can agents blend between training sets? E.g. a beginner set of data and an expert set of data?
Huge explosion of devices to support at different perf levels
Scaling features is hard for small teams
LiveTune optimizes assets and settings at runtime to give player best experience on their device
Q: How tweakable is it? Can you focus on reducing perf to optimize battery life/thermals?
"IAP Promo" - tracks player behavior to promote best purchases to player based on their behavior. Abusing player data for fun and profit!
3 expected releases 2018.1, 2, and 3
New rendering pipeline (SRP?)
Lots of new device support in AR/VR/MR/XR in 2018.1
Post-Processing stack no longer beta
New post-processing volumes for blending/changing settings
Real-time ray tracing GPU lightmapper
Long-Term Support versions
Always based on x.3 versions
24mo patch support on LTS builds
Scriptable Rendering Pipeline
One core architecture customizable with C#
Templates for various feature levels/styles
Only pay for what you use in the renderer
Default templates: High-Def "all features", and "Lightweight" for lower end devices
HD for targeting xbox one, ps4, pc, Lightweight for targeting remainder
Q: Can games that run on different platforms (e.g. PS4, PC, ios) switch their rendering pipeline based on platform without a ton of extra work/asset changes?
HD Pipeline has area lights - area lights w/o shadow cost roughly 2x normal spotlight
New rendering debug tools to investigate lighting contributions, normals, etc
Rendering debug modes run on device for on-device debugging
Can create new debug modes simply
HD pipeline has lots of new options for subsurface scattering, transluency, reflections, etc
Big focus on 'filmic' quality
Book of the Dead demo runs at 30fps on PS4 Pro as HD pipeline example
Talking photogrammetry (which is interesting but skeptical it has real value for small teams)
Shader Graph for visual editing of shaders. Supports all SRP pipelines
Layered material support (think photoshop layers but for materials)
Real-Time GPU lightmapper to dramatically cut down on iteration time
More cinemachine stuff, support for storyboard references
More colorgrading stuff, overlaying colorgrading targets and using waveform viewer to try and match scene to that
All in-editor content change timing goal: 500ms or less
Packages allow per-feature upgrading
Q: How do dependencies work between packages? Can you see/view them?
Aiming for performant by default (talking about ECS?)
C# job system intended to simplify multithreading for people
Burst compiler helps auto MT sections of code?
Unity wants to be the best game engine for online multiplayer. (As someone currently making an online game in unity... they have their work cut out here)
Ideally want 'one way of writing code' to support things like online by default
Goal of converting from existing monobehavior to new ECS in 30 minutes?
New core runtime for web is 72kb
Asset optimization for lower end environments
Playable ad demo is built in unity but targets html/js canvas for rendering
Load times of sub 3s on device