弊社の今後の展望と Unity プラットフォームにおける新サービスや新機能の他、各種仕様がいつになっているかをご覧ください。
- At Risk
- On Track
Released Apr 16th, 2019
Add OpenGL ES 3.2 Support on Android
Add WebAssembly multi-threading support
ARM64 support for UWP
Developers can now target the ARM64 64 architecture when building for the Universal Windows Platform.
Async Shader Compilation
Fast Iteration on Android
Add a special path to support script-only fast iteration on Android mono.
Expand to assets hot reload based on addressables.
Freeform Animation : Modular Rigging
A form of rigging that uses a collection of interchangeable parts that connect together to create a modular rig. Each interchangeable part is comprised of a series of RigConstraints that defines how the part moves, deforms, and is influenced by other parts of the ControlRig.
Garbage Collector Upgrade
Experimental support for incremental garbage collection, which should reduce stutters and time spikes.
GPU Lightmapper Improvements
- Fix Non-Uniform Scaling
- Double Sided GI Support
- Cast and Receive Shadows
- Enable on OS X and Linux
Graphics Format API (Experimental)
The GraphicsFormat APIs provide performance by default through a full support of all GPU formats through an explicit engine behavior controlled by the users to avoid that extra hidden copy that would limit the user creativity.
Add H265/HEVC transcoding support on Windows and OSX Editor
Particle System C# Job System Support (Experimental)
Experimental C# Job System support allows you to efficiently read and write particle data from within a C# Job with no additional copies of your particle data.
Progressive Lightmapper Updates
- Optix Denoiser
- Add Multiple Importance Sampling (MIS) for environment lighting
Improve the Shortcut Management in the Editor. Make it possible for users to be able to remap keyboard shortcuts, and let feature developers be able to expose actions that can be mapped to shortcuts. The system is able to gracefully handle conflicts, where 2 actions are assigned to the same keys.
Texture Mip Map Streaming in Edit Mode
Texture Mip Map Streaming was added in 2018.2 for Play Mode and Standalone players.
This new feature enables Texture Mip Map streaming in Edit Mode in the Editor:
- This saves GPU texture memory in Editor by only loading the mips required for the Scene View or Play Mode views.
- This feature is disabled by default but can be enabled in the Editor settings.
Timeline Signals are an easy way for Timeline to interact with objects in the scene. Using a signal emitter and a signal asset, you can trigger a signal receiver that will define a set of pre-configured reactions to your Timeline.
World Building Scene Visibility
In the scene view or via the inspector, toggle hide/unhide on one or more selected GameObjects.
- In the scene view you can select multiple objects and hide them.
- In the inspector, a visual feedback will be added to the GameObject (Ex: color, icon, ...).
- In the inspector, you can toggle visibility with the same visual feedback.
- If the GameObject is a parent of other GameObjects, the user will be able to hide/unhide all object from the parent’s hierarchy or only hide/unhide the parent.
Released Dec 10th, 2018
Android App Bundles for Google Play
Support for Android App Bundle (https://developer.android.com/guide/app-bundle/) the new upload format for Google Play, which allows to generate and serve optimized APKs for each user’s device configuration.
APKzlib for faster APK package build times on Android
Faster APK package build times on Android with internal build system: allow using apkzlib instead of aapt / apkbuilder when building Android applications.
C# Job System Support for Navmesh Raycasts
Methods for doing raycasts on the NavMesh, compatible with the C# job system.
C#7 - Roslyn
Update to use the Roslyn compiler. This will let users use the latest C# 7 features.
GPU Accelerated Lightmapper (Preview)
Support for GPU acceleration of the Progressive Lightmapper. Light baking with the Progressive Lightmapper will be significantly faster. This will improve iteration and baking times. Does not affect the Enlighten baking backend.
Haptics APIs for VR controllers
We now provide APIs for triggering haptics on the Windows Mixed Reality headset controller, Vive controller through OpenVR, and Oculus Touch controllers. We’ll continue expanding platform support and creating more feature abstractions in future releases.
Enables tilemap users to build isometric or hexagonal tilemaps.
Light Probe Deringing
Sometimes probes cannot faithfully represent the actual lighting information in a scene. In such cases “ringing” may occur which manifests itself as unwanted rings in objects lit by light probes. When enabled, the new feature removes ringing at the cost of reduced accuracy and contrast.
Nested Prefabs and Improved Prefab workflows
This update introduces a number of improvements to Unity’s Prefab workflows.
- Nested Prefabs. Yes, it’s finally happening.
- Prefab Variants. This feature lets a Prefab inherit the properties of another Prefab.
- Prefab Mode. New workflow for editing Prefab assets in isolation. You’ll no longer need to drag a Prefab to an open Scene to edit it.
Particle System Improvements 2018.3
- Burst Probability: Adds a new property to the Burst UI, which gives bursts a random chance of not being triggered at all.
- External Forces Upgrade: Introduces a new ParticleSystemForceField Component, which can be assigned to the External Forces Module of Particle Systems. This new Component offers a variety of controls, for gravity, drag, vortex motion, etc, when particles are inside its volume.
- Flip Option: We have moved the FlipU/FlipV options from the Texture Sheet Animation Module into the Renderer Module and enabled flipping on each axis for Mesh Particles. Be sure to use a shader with backface culling disabled, when flipping your meshes!
- Ordered Mesh Emission: A new option in the Shape Module for meshes, called "Vertex Ordered", which emits particles from each vertex of the mesh in order. This option behaves similarly to the Systematic option in the Legacy Particle System and is being added prior to the final removal of the Legacy Particle System.
- Ring Buffer Mode: A new Particle System mode where particles don't die when their lifetimes elapse. Instead, they remain until the Max Particles property is exceeded, at which point the oldest particles are replaced when new ones spawn. Useful for footprints, bullet holes, etc, and other persistent objects, where the user wants them to stay as long as possible, whilst maintaining a maximum budget.
- Roll Option (for VR): A new checkbox to disable roll when the camera rolls. This is most useful in VR applications where users do not want particles to follow the camera when the user rolls their head from side to side.
- Shape Module Improvements:
- Add visualization of the Radius Thickness property in the Scene View.
- Allow the Arc property to be used on the Sphere/Hemisphere shape.
- Texture Sheet Animation Improvements: Adds 2 new modes to the Texture Sheet Animation Module:
- An FPS mode, where animations play at a fixed FPS, regardless of particle lifetimes.
- A speed-based mode, where the animation frame is chosen based on particle speed, rather than age.
PhysX 3.4 Upgrade
Upgrade NVIDIA PhysX from 3.3 to 3.4
Remove the Legacy Particle System
It is time to remove the Legacy Particle System.
We are providing an upgrader on GitHub, which will convert Legacy Components (e.g. ParticleEmitter) into new Components (e.g. ParticleSystem). this upgrade should be performed in Unity 2018.2 or earlier.
Starting with Unity 2018.3, Legacy Particle Components will not work.
SpeedTree v8 support
In 2018.3 SpeedTree v8 assets (*.st files) are recognized and imported using SpeedTree importer:
• A new SpeedTree8 shader is used by the generated materials.
• Supports per-LOD approximated sub-surface scattering effect.
• Supports top-down billboards.
• Supports back face lighting.
• Improved vertex shader performance.
- GPU-instanced render path for terrain, yielding a dramatic reduction in draw calls for most cases.
- Auto-connect of adjacent terrain tiles.
- Seamless painting across multiple connected tiles
- An experimental C# API for building custom terrain tools, which can interact with newly introduced asset types for terrain materials and brushes
Alpha in progress
APK file size validation for Android App Bundles
When you chose to release to Google Play store with Android App Bundle AAB (more info https://blogs.unity3d.com/2018/10/03/support-for-android-app-bundle-aab-in-unity-2018-3-beta/), we check the size of AAB at the end of the build process. If it’s greater than 500Mb we display a warning, and give you the option to compute the sizes of the individual APKs.
Assembly Definition Reference Files
Add support for Assembly Definition Reference (.asmref) files. These allow for adding additional source code directories to an existing Assembly Definition (.asmdef) file.
C# Job System Support for Polygonal Queries on the NavMesh
Methods for obtaining polygonal geometry from the NavMesh, compatible with the C# job system.
Denoising Enhancements for Lightmappers
Added support for the cross-platform Intel lightmap denoiser. Intel Open Image Denoise can produce smooth noise free lightmaps with few samples.
GPU Lightmapper Features
- Reduce memory footprint on GPU when baking lightmaps by compressing normal vectors and albedo.
- Submesh support.
- Multiple importance sampling support.
- Performance Improvements.
Optimized Frame Pacing
Frame pacing delivers consistency of frame rate by enabling frames to be distributed with less variance between them, creating smoother gameplay.
Package Level Visibility
- Add ability to hide/show Packages in the Project Browser and Object Picker, depending on the package type set in its manifest.
- Add button in Project Browser and Object Picker to toggle package visibility (include/exclude hidden packages).
- Add package `type` property and `hideInEditor` advanced property in the Package manifest Inspector.
Physics Upgrade to NVCloth
Upgrade cloth lib from deprecated PxCloth to NvCloth.
Feedback BuildsHelp us make Unity better
Usability and Functional Feedback (Targeted or Public)
Editor: Linux Support
Unity Feedback Link - Linux Support for Editor
New Input System (Preview)
Create a better, more adaptable input system for Unity.
- Event-based, framerate-independent input delivery
- Custom device creation
- More consistency between platforms and input devices
- Better integration of variety of input types
- Better support for multiple control schemes
- Better separation between input and game logic
- Deeper API access
- More customizability
Redesigned editor asset and component icons
The icons are getting a stylistic update, while being designed for greater consistency.
In-progress, timelines long or uncertain
2D Physics - Low Level API
- Expose low-level collider primitives of circle, edge, polygon & capsule and ability to retrieve from existing Collider 2D components.
- New 2D collider with ability to be composed of low-level collider primitives.
- Super fast, primitive intersection tests with batching support not requiring 2D collider components.
- Gizmo support for primitive collider shapes of circle, edge, polygon & capsule. Useful in visualising/debugging intersection tests.
2D Physics - Simulation
- Multi-instance 2D physics worlds.
- Ability to assign simulation group(s) to Rigidbody2D and simulate specific group(s) and/or calculate contacts for those group(s) only.
- Expose contact processing allowing users to defer contact solving, enable/disable contacts etc.
Add UNET encryption support
Provide a way for users to be able to manipulate the UNET network payload in order to add encryption and any extra layers of security as required by their projects.
This would allow users to secure all UNET communication between their clients and servers, a requirement on the Xbox One platform when using cloud-based dedicated servers as well as something that more and more online games are interested in implementing for security purposes.
This feature has been released to and used by several users already as custom builds of 2017.4 and 2018.3.
This Epic covers the implementation for the following platforms:
Addressable Assets System for Creating, Managing and Loading Content
Addressable Assets handle the code complexity of creating, managing, and loading content by removing the steepest part of the learning curve and automating tedious tasks. Addressable Assets decouple the project code and content layout to eliminate the need for tracking assets and refactoring code. By starting with Addressable Assets, your game development can scale without increasing complexity. The game creator no longer needs to think about shipping details while making their game.
Animation Generic IK
User definable IK chains
Add the ability to record Main and Mixer outputs to file
Automatic convex decompositions
- Integrate V-HACD
- A single mesh can be automatically decomposed into a set of convex MeshColliders
- Helps with collision detection performance and accuracy
- Enables sophisticated meshes on dynamic bodies and triggers
Basic Player Localization
The basic player localization feature is a set of features to add localization support in games made with Unity.
Deeper, more prominent reporting of information about the player build process and outputs.
Distributed LAN lighting builds
Polish the Hackweek X project on distributing lighting builds (precompute/baking) across machines on a LAN. The aim is to make a system that will automatically discover available machines and use them for time consuming lighting builds. No setup should be required. Video .
Editor DPI Emulation
Extend Game View resolutions by also emulating a given DPI.
Particularly useful for getting accurate representations of UI layouts on target devices.
Graphics: Expose more formats to C#
Allows creating texture and rendertexture with all the formats supported by modern GPUs
Gives the users ability to easily view all the draw calls for the IMGUI, with the option to open the source file in the right location, view all the data used to render the item.
Localization of Editor UI (Japanese)
Localization of the Editor UI. (No runtime or building localized assets)
Managed allocation callstacks support in Players
Currently Unity Profiler provides source code information for managed allocations only in the Editor and only within the same Mono domain (wrong callstacks after domain reloads).
Minimization of allocations in the actual player build is hard and can only be replaced by deep profiling which we support only for Mono scripting backend in Players.
We want to make sure callstacks can be converted to function names and be actionable for all profiler captures, in Players, Editor and for all scripting backends.
Conversion of a callstack to function names require debug symbols information.
Compilers can usually provide a debug symbol file which helps with translation of instruction address into a source code line. But that is not the case for dynamically generated code (Mono JIT) where we have to store the generated code information. In order to allow for fast gathering of callstack data, we will save fully qualified function names + their IL/native code locations.
This is a highly requested feature from Unity users so should figure on the Public Roadmap.
PBR Mobile Optimizations
Standard shader needs optimizations for low-end mobile/PC platforms. Some of these need to be GPU specific (for very popular GPU families)
- Optimizations for Apple/PowerVR GPUs
- Approximate/simplify for low-end GPUs like Mali-400
- Automatic switching between "do math in shader" vs "texture lookup table" depending on GPU
- Procedural Skybox shader optimizations
Profiler: Profiling API improvements
Low-overhead C# Samplers. Ability to collect high-level performance data in non-development players.
Save Play Mode Changes
Make it possible to selectively persist changes made during Play Mode so they are not lost.
Snapshot tracks for Timeline
Stereo (Multi) Layer Support
Adds support for rendering textures directly to an HMD compositor, bypassing the application rendering.
UIElements for Editor Extensions
A new retained-mode GUI framework to rapidly develop performant and reusable Editor Extensions.
Video: Network Streaming
ResearchProvide feedback or discuss ideas
Investigations & design work
2D Physics - Animation
- New Animatable 2D Collider that tracks SpriteRender mesh.
- Explicit Kinematic Rigidbody2D Hierarchy control.
2D Physics - Colliders
- EdgeCollider2D 'adjacent edge' support allowing chaining of EdgeCollider2D together with virtual edges.
- EdgeCollider2D to EdgeCollider2D collision support
2D Physics - Effectors
- New asset-based effector behaviour system allowing blending of multiple behaviours.
- SurfaceEffector2D "speed-up only" support disabling slowing down if surface speed is too high.
2D Physics - Fluids
- LiquidFun Integration
2D Physics - Joints
- HingeJoint2D motor "free spin" support
- Joint2D anchor local scaling support
2D Physics - Materials
- Full integrated shared physics materials
2D Physics - Performance
- Asynchronous CompositeCollider2D outline and triangulation.
- Asynchronous PolygonCollider2D triangulation.
- Multithreaded simulation.
2D Physics - Rigidbodies
- Transform write-back to planes other than XY using swizzle option i.e. write back to XZ, YZ etc.
- Customised collision modes allowing alternatives to layer-based detection.
- Distance based wake-sleep for Rigidbody2D.
- Ability to retrieve all Rigidbody2D, Collider2D & Joint2D.
- Wake/Sleep Callbacks.
Android: Support for Visual Studio project export
Allows Android target to export Visual Studio project, you can the both build apk files and debug Android application from within Visual Studio.
In Visual Studio 2015, Microsoft added support for Android. It has capabilities of both building Android applications (with gradle) and debugging Android applications (with gdb wrapper).
Collaborate: Project Branching
Support more than one version of a project, for selective development
- Streamlined and unified structure for the increasing number of windows, tools, and visualisations in the editor.
Full physical light support
Physical units, CCT, IES, ...
Script Api Updater: Expose APIUpdater to Asset Store authors
Give Asset Store authors the ability change their APIs with less friction and retain compatibility
- Allows you to visually compare differences in your Unity project for prefabs and scenes.
Initial prototype of Visual Scripting, for internal demonstration and feedback gathering purposes.