The untextured Dev - Async Conveyor Plugin

This plugin allows your game to have conveyor belt systems which can become as large and complex as you can possibly desire. Items on conveyor belts are handled off the game thread, meaning that they will not slow down your game, even with hundreds of thousands of items.

The plugin is designed with modularity and ease of use in mind. Adding components for easy can be as simple as using the "Conveyor Component" and setting it up via the component editor, which resembles a spline editor, or you can integrate it into your ECS-style systems by using more direct component-free methods.

The system has also been built with performance as a priority, with stress tests showing over 200,000 items on the player's screen at a constant 60fps*.

The way the plugin is able to achieve this is by offloading as much work to separate threads, allowing the game thread to run smoothly, as well as utilizing a custom mesh components specialized in rendering many moving objects.

Version 3.0 of the plugin (Distributed and made for UE 5.7+) features a complete rewrite and redesign of the plugin, improving all performance, modularity, features, stability and scalability.

Try out a sample project!

*Stress-tests and benchmarks have been ran on a PC with an AMD Ryzen 7 5800X, RTX 4070, 32 GB DDR4-2400 memory at 1080p in a minimalist map in standalone mode.

Features:

  • Multiple ways of creating belts in your world at runtime

  • Async processing and multithreading

  • Several automated actions which affect items and belt behaviour:

    • Item Insertion

    • Item processing (Changing one item to another)

    • Item extraction

    • Item observation

    • Ticking specific parts of conveyors

    • Controlling round-robin behaviour

  • Bezier and linear belt shapes

  • Extensive documentation, with examples and full explanations of every aspect of the plugin.

Code Modules:

  • ConveyorPlugin [Runtime]: Contains some higher level utilities

  • ConveyorPluginFramework [Runtime]: Contains the framework for the plugin, including mostly data and universal logic

  • ConveyorSimulation [Runtime]: The simulation layer that makes the magic happen

  • ConveyorVisualization [Runtime]: Rendering and debug visualizations

  • ConveyorPluginEditor [Editor]: Editor utilities to easily create conveyor components

Number of Assets:

  • 3 Textures

Network Replicated: No

Supported Development Platforms: Win64

Supported Target Build Platforms: Win64

Documentation: https://theuntextured.github.io/AsyncConveyorPlugin/

Example Project: https://github.com/Theuntextured/AsyncConveyorPlugin/releases/

Important/Additional Notes:

Feel free to send me suggestions/feedback/bug reports via email or on the GitHub issues page or by sending me a message on discord (theuntextured). I will answer as soon as I can!

LEGACY:

In version 2.0, a lot of the plugin has been rewritten to improve customization and greatly improve performance. In v1.3.5, having 60 000 would lead to a framerate of approximately 20fps. With the new v2.0, the framerate sits steadily at 90fps*.

2.0 introduced profiling capabilities with stat-groups and improved compatibility with Unreal Insights, as well as significantly improving the stability of the plugin overall.

v2.0 is only available with UE 5.3-5.6

v2.X docs

Trailer