Request explicit versions of an API, fail if no compatible version exists.
Animating arbitrary object properties, such as light colors, etc.
In game UI
Support for creating in-game UIs.
A curve editor for doing in-editor animations.
Support for multiplayer gameplay over the network.
Expose controls for adjusting the ACES tonemapping curve.
Automated testing of UI and rendering to detect regression bugs.
A collection of tutorials and documentation to help users getting started with The Machinery.
Procedurally spawn and position entities.
Support for setup and simulation of ragdolls in physics.
A real-time reflection solution that
works with both static and dynamic objects. SSR falling back on localized pre-baked probes.
Integration with physically based camera parameters.
Asset Browser Thumbnails
Support for preview thumbnails in the Asset Browser.
Structured Exception Handling
Catch crashes in plugins.
Metal 2 Render Backend
For iOS and OS X.
Editor and runtime support for OS X.
In R&D. Currently investigating a probe based realtime solution. Lots of new research in this area lately so hard to say what we’ll end up with.
Make sure Truth buffers are evicted when not needed to reduce memory use.
Collaboration without UPNP
Using STUN and TURN servers.
Implement clustered light culling.
Unscheduled — Rendering
Support for streamed and runtime generated virtual textures.
Shadow map caching. Better heuristics for determining per light shadow map resolution. R&D on virtual shadow maps. Maybe: Support for screen-space shadows.
GPU Driven Meshlets Pipeline
Extend billboard output node to handle deferred decals.
Async Compute Optimizations
Make sure to utilize asynchronous compute in default render pipeline.
R&D to support virtualization of mesh geometry, similar to Nanite.
Unscheduled — Platforms
Runtime support for iOS.
Runtime support for XBox X.
Runtime support for Playstation 5.
Runtime support for Android.
Solution for web deployment (possibly hybrid).
Unscheduled — Animation & Characters
Support for Navigation meshes and pathfinding.
Animate objects in the Scene view and create cutscenes.
Perform state machine transitions at specific “beat” points, such when a foot is planted.
Blend Graph States
A state that uses a blend graph to compute an animation pose.
Animations that play as additive offsets on an underlying animation (for example recoil).
Integrate IK + Physics for foot planting based on ray casting.
Better sharing of resources. Compile ASMs only once.
Specifying transitions for sets/groups of states.
Investigate Motion Matching support.
A procedural humanoid (or animal) model for various IK operations.
Retarget animations to different skeletons.
Unscheduled — Runner
Be able to connect profiler, memory profiler, etc to a local or remote runner.
Reduce memory use and file size of runner.
Unscheduled — Foundation
Improve Git Load Times
Make sure huge directory projects can be loaded quickly.
Lazy Asset Loading
On-demand loading of assets. Be able to on-demand load assets from remote servers.
Custom GLTF/FBX importer?
Do we want to write our own to get around assimp issues?
Unscheduled — Physics
Automatically perform convex decomposition of concave shapes.
Implement custom mover code to give the user greater control.
Support for vehicle physics.
Support for water interaction.
Support for cloth simulation.
Support for destruction of physics objects.
Support for soft bodies.
Support for motors to drive joints.
Callbacks when physics objects wake up or fall asleep.
Support for PhysX dominance groups.
Support for PhysX articulations
Support for PhysX aggregates.
Unscheduled — Media
High-Level Audio System
More features for sequencing audio.
Support for audio compression formats, such as MP3, FLAC, OGG, etc.
Stream audio playback from disk.
Convolution reverb support.
Playback of MP4 or Bink files.
Unscheduled — Accessibility & Localization
Chinese, Arabic, etc.
Screen Magnifier Compatibility
Support “Read From Here” in the Screen Magnifier or a similar feature.
Make sure The Machinery works nicely with IME.
Unscheduled — UI
Out of Window Render Support
For dragging outside current window, popups outside window bounds, etc.
Support for 2D feature set.
UI text formatting language
Have a simple formatting language for UI text so we can do things like bold, italic, icons, etc.
Unscheduled — Entities
Supporting large worlds without running into precision issues.
Streaming of worlds.