auto_awesomeRendering

UI Batching

In Progress
We want to batch render as many UI elements together as possible, significantly reducing our draw call overhead and improving frame times in UI heavy scenes.

Ambient Occlusion Optimizations

In Progress
Our SSAO post processing is very expensive right now and scales poorly with larger screen resolutions.

SSR Optimizations

In Progress
Our SSR solution is still too expensive.

Slang

Planned
Replace our current shader compiler DXC with Slang, a modern shader language with features like interfaces, generics, and modules. This gives us a more expressive and maintainable shader codebase with better tooling support. 

Shadow Cache

Planned
Decrease the cost of rendering shadows by caching the static geometry and only rendering dynamic geometry over it.

Static Meshlet Rendering

Planned
We can break static meshes into meshlets / fragments and render them very efficiently, combining draw calls into indirect multi draw calls as well as using GPU occlusion culling. A static map or level can be entirely composed of these for huge benefit.

GPU Resource Viewer

Planned
We don't have a good way of inspecting all resources currently resident on the GPU. We want to be able to quickly glance and filter down what our GPU memory is being used for.

Terrain: Smaller Geometry Clipmaps

Planned
Terrain is currently rendered with one big geometry clipmap mesh. We want to split it up into a level of instanced clipmaps for a simple level of CPU culling, reducing GPU overhead especially in auxiliary views.

Auto DDGI

Planned
Instead of having to place volumes and configure them, we should be able to voxelize the entire scene (within reason) to figure out where to place probes.

Bindless Material Pipeline

Planned
Material changes are expensive to our frame time, we can avoid rebinding textures between materials, which in turn lets us instance more stuff together.

Skinned Instancing

Planned
Skinned meshes currently can't be instanced, meaning every animated character is a separate draw call. We want to support GPU skinning with instancing so crowds and large numbers of animated entities are significantly cheaper to render. 

VR Multiview

Planned
Reintroduce multiview instancing for VR rendering, but using VK_KHR_multiview to make it transparent to the rendering pipeline.
joystickPlatform

Linux Dedicated Server

In Progress
Nobody wants to run servers on Windows. The engine builds for Linux, there are some runtime bugs to resolve still.

Auto-detect Graphics Settings

Planned
We have Low/Med/High graphics settings but default to High, we should automatically select one based on the user's hardware.

Controller UI

Planned
Make it easier to make UIs that can be used with controller.
buildEditor

Project Templates

In Progress
Provide a set of starter project templates - FPS, third person, sandbox, blank - so creators can hit the ground running with a working foundation instead of starting from scratch every time. 

Mapping IO Components

In Progress
We don't have an easy way to add buttons or doors to maps...

Material Editor 2.0

On Hold
We want to remove the native material editor, simplify it all and put it in the inspector.

Auto LODs

Planned
Automatically generate levels of detail for meshes on import, so creators don't have to manually author LOD chains. The system should produce good quality reduced meshes with minimal effort. 

Avalonia UI

Planned
We want to replace Qt with Avalonia UI for the editor UI, a native C# solution that should be easier to work with and faster.

Mapping Mesh Merging

Planned
A small unnoticable compile step for scene map meshes that merges them together into one.

Standalone License

Complete
Allow developers to publish games directly to Steam.
animationAnimation

Animgraph 2

Planned
A better performing animgraph system, where in our current system pose evaluation is expensive and fragile.
boltPhysics