Roadmap

Vote on what we build next. Every feature here is shaped by what the community cares about most.

Animgraph 2animationAnimation In Progress

Animgraph 2

A better performing animgraph system, where in our current system pose evaluation is expensive and fragile.
forum20
Linux Native ClientjoystickPlatform In Progress

Linux Native Client

It's our intention for s&box to be cross-platform, a native Linux client is a good start.
forum29
Shadow Cacheauto_awesomeRendering In Progress

Shadow Cache

Decrease the cost of rendering shadows by caching the static geometry and only rendering dynamic geometry over it.
forum0
auto_awesomeauto_awesomeRendering In Progress

Bindless Material Pipeline

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

Mapping Mesh Merging

A small unnoticable compile step for scene map meshes that merges them together into one.
forum0
Tilesetsemoji_emotions2D In Progress

Tilesets

A resource that goes hand-in-hand with Sprite, allowing you to define Tiles from a Tileset image so they can be painted into a scene. You will also be able to apply metadata like tags to tiles for things like custom footstep sounds on different materials.

This tool will let you paint Tiles into your scene by creating TilesetRenderers for each layer and giving you options for collision, depth, ect.
forum2
auto_awesomeauto_awesomeRendering In Progress

Aggregate Scene Objects

Precombine a lot of static geometry into efficient to render aggregates
forum1
Animated Tilesemoji_emotions2D In Progress

Animated Tiles

Paint animated tiles into your scene
forum0
Material Editor 2.0buildEditor On Hold

Material Editor 2.0

We want to remove the native material editor, simplify it all and put it in the inspector.
forum10
Auto-detect Graphics SettingsjoystickPlatform Planned

Auto-detect Graphics Settings

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

Slang

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. 
forum1
Avalonia UIbuildEditor Planned

Avalonia UI

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.
forum8
Static Meshlet Renderingauto_awesomeRendering Planned

Static Meshlet Rendering

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.
forum1
Controller UIjoystickPlatform Planned

Controller UI

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

Auto DDGI

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.
forum0
VR Multiviewauto_awesomeRendering Planned

VR Multiview

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

glTF Support

Support importing glTF models into the editor.
forum3
joystickjoystickPlatform Planned

Game Jams

Integrate game jams into the platform, enabling user voting, early participation
forum2
Autotilingemoji_emotions2D Planned

Autotiling

This will let you define the way that certain Tiles connect to one-another so you can paint with an Autotile brush and it will automatically place the correct tiles given the surrounding tiles.
forum0
Sprite Attachmentsemoji_emotions2D Planned

Sprite Attachments

Similar to Models, this will let you define attachment points on your sprite, adjusting it's position for each frame in an animation. This can be used to attach hats to a Head attachment, or having projectiles fire from a Muzzle attachment.
forum0
Sprite/Tileset Collision Shapesemoji_emotions2D Planned

Sprite/Tileset Collision Shapes

Lets you define the exact shape of a sprite/tile to be used as a collider
forum1
buildbuildEditor Complete

Project Templates

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. 
forum10
Linux Dedicated ServerjoystickPlatform Complete

Linux Dedicated Server

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

Ambient Occlusion Optimizations

Our SSAO post processing is very expensive right now and scales poorly with larger screen resolutions.
forum5
buildbuildEditor Complete

Auto LODs

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. 
forum8
buildbuildEditor Complete

Standalone License

Allow developers to publish games directly to Steam.
forum14
auto_awesomeauto_awesomeRendering Complete

UI Batching

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.
forum3
Skinned Instancingauto_awesomeRendering Complete

Skinned Instancing

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. 
forum0
auto_awesomeauto_awesomeRendering Complete

SSR Optimizations

Our SSR solution is still too expensive.
forum2
buildbuildEditor Complete

Mapping IO Components

We don't have an easy way to add buttons or doors to maps...
forum8
GPU Resource Viewerauto_awesomeRendering Complete

GPU Resource Viewer

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.
forum0
Terrain: Smaller Geometry Clipmapsauto_awesomeRendering Complete

Terrain: Smaller Geometry Clipmaps

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.
forum0
Upscalersauto_awesomeRendering Complete

Upscalers

Make your game render at a lower resolution and upscale to a blurry mess 🚀 FSR & DLSS
forum1
media_outputmedia_outputSound & Media Complete

Sound Simulation

s&box's environmental audio simulation is pretty bare-bones. We only have very basic sound occlusion and static DSP volumes.

We want to add simulation for at least some of the physical sound properties:
reflection, transmition, absorbtion, diffraction...
forum4
emoji_emotionsemoji_emotions2D Complete

Animation Loop Points

For animations that have a lead-in and hold on a pose/loop. Instead of splitting them up and using code to trigger them in time, you can use Loop Points to have a single animation with the lead-in and loop and when that animation is played the lead-in will only be played a single time.
forum0
emoji_emotionsemoji_emotions2D Complete

Spritesheet Importer

An easy way to import a spritesheet and have it split up automatically into animations without the need for individual images that you would need to import one-by-one in each animation manually
forum1