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

High-Contrast Color Schemes

For accessibility.

Delivered in 2021.8
Workspaces

Support for having multiple workspaces in the same window.

Delivered in 2021.8
Plugin Versioning

Request explicit versions of an API, fail if no compatible version exists.

Will be delivered in 2021.9

In Progress

Multiplayer

Support for multiplayer gameplay over the network.

Q4 2021
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.

In game UI

Support for creating in-game UIs.

Asset Browser Thumbnails

Support for preview thumbnails in the Asset Browser.

Q3 2021
Ragdolls

Support for setup and simulation of ragdolls in physics.

Q3 2021
Reflections pipeline

A real-time reflection solution that
works with both static and dynamic objects. SSR falling back on localized pre-baked probes.

Color Grading

Entity Spawner

Procedurally spawn and position entities.

Q3 2021
Structured Exception Handling

Catch crashes in plugins.

Q3 2021
Depth-of-Field

Integration with physically based camera parameters.

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.

Buffer Eviction

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

Q3 2021
Tonemapper Controls

Expose controls for adjusting the ACES tonemapping curve.

Collaboration without UPNP

Using STUN and TURN servers.

Q3 2021
Light Culling

Implement clustered light culling.

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

Metal 2 Render Backend

For iOS and OS X.

ARM Support

For M1 CPU.

OS X

Editor and runtime support for OS X.

iOS

Runtime support for iOS.

XBox X

Runtime support for XBox X.

Playstation 5

Runtime support for Playstation 5.

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.

Property Animation

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

Curve Editor

A curve editor for doing in-editor animations.

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.

Unscheduled — Entities

Large Worlds

Supporting large worlds without running into precision issues.

Streaming

Streaming of worlds.