2017-01-03

We do a thing in Rust’s subreddit where we get people to post their ideal changelog.

I find these threads a lot more useful than reading people’s dissertations on what they want changed. They’re brief, skimmable, and they’re not full of justifications, speculation and predictions.

So here’s my changelist for Unity in 2017.

Removed deprecated component accessors on Component

Reduced standalone memory usage

Added ComponentRef (automatically fills with the sibling component)

Allowed resources folder to be over 2GB without using bundles

Editor Dark Skin is the only skin

Steam is treated as a platform (includes Steam SDK)

Cloudbuild can upload to Steam

Added GameObject.Spawn which spawns a prefab but doesn’t call Awake/Start/OnEnable until you call go.Instantiate() (allows setting up before actual creation)

Added PrefabPool

Added ParticleSystem.AutomaticallyRecycle bool (deletes gameobject when particle finishes)

Layer renamed to RenderLayer

Added PhysicsLayer

RenderLayer/PhysicsLayers are a bitfield, objects can be in multiple layers

Up to 64 RenderLayer/PhysicsLayers

Tags are bitfields, objects can have multiple tags

Added Sound.Play( clip, position, volume, pitch, etc )

Built in components aren’t sealed, are derivable, default editor still works

Up to 64 tags

Changing platforms no longer requires reimporting every asset

Added search/filter to console

Console uses monospaced font

Can click on stack trace in console to jump to that file/line

Added back/forward buttons to project folder

Pressing mouse 4/5 navigates project folder history (like a browser)

Common functions are now thread safe

Editor will detect and break out of infinite loops

Profiler shows breakdown of visible meshes, vertices per mesh

ParticleSystem can be placed on overlay canvas

Replaced Mono with NETCore

Getting Object.name no longer allocates memory

Added dynamic occlusion culling

Special hook functions like Update, Awake, Start are virtuals instead of magic

Folders can be marked to compile to dll (compile times, modularity)

Removed Javascript support

Editor no longer freezes when changing files in a huge project

Added Physics.OverlapFrustum

Can serialize components/scriptable objects at runtime (saving, loading, configs)

Can load models, animations, shaders at runtime

Added loopback mode to UNet for singleplayer games

UNet Loopback mode can be used to record/save/play demos

UNet Loopback can be used for saving, loading

Added VoIP support to UNet

UNet transform sync interpolation works (without rigidbody)

Added CSS like styles to UnityUI elements (allowing you to change your games entire UI style from one place)

Headless/Console/Server is treated as a platform

Added automatic LOD generation

Editor child windows don’t disappear when alt tabbed

Terrain.Max Mesh Trees works again

Added version number on editor icon

Show more