Roadmap

This Roadmap shows upcoming features planned for The Machinery. Sign-in to vote for a feature. Is something missing from this list? Let us know on Discord or our Discussion Pages.

Completed

Property Animation

Animating arbitrary object properties, such as light colors, etc.

Delivered in 2021.10.
In game UI

Support for creating in-game UIs.

Delivered in 2021.10.
Curve Editor

A curve editor for doing in-editor animations.

Delivered in 2021.11
Multiplayer

Support for multiplayer gameplay over the network.

Delivered in 2021.11
Entity Spawner

Procedurally spawn and position entities.

Delivered in 2021.11
Collaboration without UPNP

Using NAT punch-through.

Delivered in 2022.1
Asset Browser Thumbnails

Support for preview thumbnails in the Asset Browser.

Delivered in 2022.1
Depth-of-Field

Integration with physically based camera parameters.

Delivered in 2022.2

In Progress

Tonemapper Controls

Expose controls for adjusting the ACES tonemapping curve.

Regression Testing

Automated testing of UI and rendering to detect regression bugs.

Tutorials

A collection of tutorials and documentation to help users getting started with The Machinery.

Ongoing project.
Streaming

Q1 2022 (Preview)
Large Worlds

Supporting large worlds without running into precision issues.

Q1 2022 (Preview)
Light Culling

Implement clustered light culling.

API Specifications

Machine-readable API specifications for generating programming language bindings.

Q1 2022
Structured Exception Handling

Catch crashes in plugins.

Preliminary experiments started, expect to finalize in Q1 2022.
OS X

Editor and runtime support for OS X.

Metal 2 Render Backend

For iOS and OS X.

Buffer Eviction

Make sure Truth buffers are evicted when not needed to reduce memory use.

Q1 2022

Scheduled

Global Illumination

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.

Plugin Manager

Activate/Deactivate optional plugins with dependencies visualization.

Q2 2022
Ragdolls

Support for setup and simulation of ragdolls in physics.

Preview in 2021.10. Work temporarily paused.
Steam

Dedicated Server and Lobby support. Steam Network API integration.

Q2 2022

Unscheduled — Rendering

Virtual Texturing

Support for streamed and runtime generated virtual textures.

Shadow improvements

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

Decals

Extend billboard output node to handle deferred decals.

Motion Blur

Async Compute Optimizations

Make sure to utilize asynchronous compute in default render pipeline.

Virtual Geometry

R&D to support virtualization of mesh geometry, similar to Nanite.

Unscheduled — Platforms

iOS

Runtime support for iOS.

XBox X

Runtime support for XBox X.

Playstation 5

Runtime support for Playstation 5.

Android

Runtime support for Android.

Web

Solution for web deployment (possibly hybrid).

Unscheduled — Animation & Characters

Navigation

Support for Navigation meshes and pathfinding.

Cutscene Tool

Animate objects in the Scene view and create cutscenes.

Beat Blending

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.

Offset Animations

Animations that play as additive offsets on an underlying animation (for example recoil).

Foot Planting

Integrate IK + Physics for foot planting based on ray casting.

Resource Sharing

Better sharing of resources. Compile ASMs only once.

Template States

Specifying transitions for sets/groups of states.

Motion Matching

Investigate Motion Matching support.

Procedural Biped

A procedural humanoid (or animal) model for various IK operations.

Retargetting

Retarget animations to different skeletons.

Unscheduled — Runner

Runner Debugging

Be able to connect profiler, memory profiler, etc to a local or remote runner.

Memory Use

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

Convex Decomposition

Automatically perform convex decomposition of concave shapes.

Custom Mover

Implement custom mover code to give the user greater control.

Vehicles

Support for vehicle physics.

Water

Support for water interaction.

Cloth

Support for cloth simulation.

Destruction

Support for destruction of physics objects.

Soft Bodies

Support for soft bodies.

Motors

Support for motors to drive joints.

Wake/Sleep Callbacks

Callbacks when physics objects wake up or fall asleep.

Dominance Groups

Support for PhysX dominance groups.

Articulation

Support for PhysX articulations

Aggregates

Support for PhysX aggregates.

Unscheduled — Media

High-Level Audio System

More features for sequencing audio.

Audio Compression

Support for audio compression formats, such as MP3, FLAC, OGG, etc.

Audio Streaming

Stream audio playback from disk.

Reverb

Convolution reverb support.

Video Playback

Playback of MP4 or Bink files.

Unscheduled — Accessibility & Localization

Script support

Chinese, Arabic, etc.

Screen Magnifier Compatibility

Support “Read From Here” in the Screen Magnifier or a similar feature.

IME

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.

2D

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.