High-Contrast Color Schemes
Support for having multiple workspaces in the same window.
Request explicit versions of an API, fail if no compatible version exists.
Support for multiplayer gameplay over the network.
Automated testing of UI and rendering to detect regression bugs.
A collection of tutorials and documentation to help users getting started with The Machinery.
In game UI
Support for creating in-game UIs.
Asset Browser Thumbnails
Support for preview thumbnails in the Asset Browser.
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.
Procedurally spawn and position entities.
Structured Exception Handling
Catch crashes in plugins.
Integration with physically based camera parameters.
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.
Expose controls for adjusting the ACES tonemapping curve.
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
Metal 2 Render Backend
For iOS and OS X.
For M1 CPU.
Editor and runtime support for OS X.
Runtime support for iOS.
Runtime support for XBox X.
Runtime support for Playstation 5.
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.
Animating arbitrary object properties, such as light colors, etc.
A curve editor for doing in-editor animations.
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.
Unscheduled — Entities
Supporting large worlds without running into precision issues.
Streaming of worlds.