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.
Procedurally spawn and position entities.
Collaboration without UPNP
Using NAT punch-through.
Asset Browser Thumbnails
Support for preview thumbnails in the Asset Browser.
Integration with physically based camera parameters.
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.
Supporting large worlds without running into precision issues.
Implement clustered light culling.
Machine-readable API specifications for generating programming language bindings.
Structured Exception Handling
Catch crashes in plugins.
Editor and runtime support for OS X.
Metal 2 Render Backend
For iOS and OS X.
Make sure Truth buffers are evicted when not needed to reduce memory use.
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.
Activate/Deactivate optional plugins with dependencies visualization.
Support for setup and simulation of ragdolls in physics.
Dedicated Server and Lobby support. Steam Network API integration.
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.