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