Apparatus – Network-ready ECS data-driven framework (C++/Blueprint)

apparatus-logo-with-shadow-284px-RGBA

Straight to the Marketplace Page

Have you dreamt about developing your Unreal games ECS-style? The data-driven workflow has finally arrived to Unreal Engine. Introducing – the Apparatus!

TERMINOLOGY

We provide all of the basic ECS idioms and even more. Being unambiguous and self-sustained, the framework uses a different naming scheme. Here is the list of analogs:

  • Entity – Subject
  • Component – Detail
  • System – Mechanic
  • A group of Systems – Mechanism
  • Archetype – Fingerprint
  • Chunk – Belt

GOALS

We strongly believe in the profound data-driven workflow and use it in our own studio projects. That’s why we created Apparatus. The story behind it is quite long of almost 1,5 years of research, active prototyping, development, profiling and tests. The first of its iterations were developed for a whole different technology stack, but after some long days and nights of work, we are thrilled to present it to you – the Unreal Engine Community!

The current sample project, while having quite a broad functionality scope, can be considered a basic demonstration of the technology and some more complex examples are due to come in the near future. The Apparatus itself is thoroughly tested and fully production-ready. Don’t hesitate to contact us for any assistance possible as we strive do deliver the most comprehensive and feature-rich experience.

FEATURES

  • A complete Unreal Engine integration of the data-driven workflow. Both C++ and Blueprint development is supported.
  • Versatile detail-including and detail-excluding subject filtering in the mechanics.
  • Multiple details of the same type on a single subject are allowed. All of the available detail combinations are processed.
  • The detail types can be inherited for extra modularity and flexibility. Just create a common mechanics with a common ancestor in the filter.
  • Dedicated user experience touches for some clear reading, validation and overall ease of use.
  • Several performance optimizations: caching, fast bit-array lookups, manual belt assignment.
  • Thoroughly documented API with a dedicated manual.

MODULES

  • ApparatusRuntime
  • ApparatusUncooked
  • ApparatusEditor

INFORMATION

Number of C++ Classes: 26

Network Replicated: No (Network-Agnostic)

Supported Development Platforms: Windows, Linux, macOS

Supported Target Build Platforms: Windows, Linux, macOS, iOS, Android (Platform-Independent)

Documentation: Turbopedia, API Reference

Example Project: ApparatusPlatformer

Important/Additional Notes: For additional platforms (Consoles), please, compile from sources directly.

Support: TurboTalk Forum, Discord Server, This Thread

From Russia, Moscow and Chekhov cities with much :heart:

3 Likes

The development process is full-steam as we are pushing Apparatus even further. The performance-optimized traits/chunks are to be expected in May. Read on about our future plans in this Turbo article:
https://turbanov.ru/wiki/en/toolworks/docs/apparatus/features/upcoming

1 Like

Hey @turbanov - Your discord server invite has expired from the looks of it.

Sorry for the inconveniences. The new invitation is as: Turbanov Toolworks
The promo links will get corrected as well.

1 Like

apparatus-featured-sale-550x300-RGB
Great news as Apparatus was selected for the Unreal Engine’s Marketplace Spring SALE!
Only for the next 3 days you can purchase our product with a massive 50% discount. Go grab the tool and start developing your project the ECS-way, the Apparatus way!

image
While we prepare the new cache-efficient GC-less memory model, we decided to create our own Benchmarking Suite and actually recorder a small teaser for it. Take a look, if you’d be interested in our ECS-driven approach in future.

Tomorrow is the last day of the Spring Sale at Marketplace and you can still grab a copy of Apparatus with a 50% discount!

Teaser: How much is many? Apparatus Benchmarking Teaser - YouTube

1 Like

Glad to deliver some great data-driven news. Apparatus can now be considered functionally complete as the new cache-local, GC-less traits subsystem is done and ready for production use, covered by automated tests.

The solution is fully and natively integrated within current Unreal infrastructure supporting both C++ and BP workflows. You can now use UE for rendering mainly and implement all of your game logic via ECS blueprints and/or C++ code.

apparatus-featured-sale-70-forum-550x300-RGB

For a limited amount of time the framework is now available at a whopping discount price: Apparatus in Code Plugins - UE Marketplace

apparatus-loves-ue5-on-forum-540x256px-RGB

Apparatus ECS supports the Unreal Engine 5 Early Access version day one! That is SICK! Go true next-gen, go data-driven NOW and become a verified purchaser by sending us your receipt via support@turbanov.ru !

1 Like

Continuing to improve on stability and behavior standardization here. The hotfix 1.2.1 version is now LIVE.!Make sure you update to eliminate the issues related to trait filtering and trait obtaining. Verified purchasers will have an access to the sources-only version.
With this new version, when you update a Subject Trait within the Mechanic, it’s new value also gets propagated to the corresponding Trait-pin and you no need no temporaries. Very handy!

The second 1.2.2 hotfix release went “gold”. Not only the issue reported was squashed, but the Filter caching for BP Mechanics provided. This minimises the dynamic memory allocations during runtime and also could enhance the performance as well. Polishing this baby for good!

The new 1.3.0 feature release is now LIVE! Make sure you upgrade, as it features bunch of new stuff related to traits and the bug fixes for the shipping build target!

This is an Apparatus ECS demo featuring fluid-like physics simulation of 700+ spherical boids. Everything is implemented in Blueprints, from scratch, including collision detection, decoupling/response, spatial partitioning, physics and logic. No Actors/Objects used, the whole logic is made through Apparatus low-level entities - Subjects. This is a good stress of what you can achieve both in Apparatus and Blueprints.

The 70% SALE ends tomorrow so gotta hurry up!

Version 1.4.0 is now up and available for download.
What’s new?

  • Filter hash sum caching optimization.
  • Chains are now unified under a single entity. C++ workflow becomes easier.
  • Bug fixes, refactors.

Some really FINE news on our side.
As we prepare our high-count game demo, we now release a new feature update.

Let me present you a 1.5 we-don’t-know-what-else-to-optimise version. For the current functionality present this really maximises what could be done, performance-wise. Introduced new fingerprint hash caching and data inlines, cache-friendly Subject arrays.

The update is now LIVE, so make sure you download accordingly as this also improves the general stability. The API documentation is already up-to-date.

Hey-hey-hey! What can you expect from C++ Apparatus, performance-wise?
While we prepare a full-featured game powered by ECS, we have decided to present a tiny crop as a benchmarking expectations test. Here ya go:

Everything is written from scratch, of course, no PhysX/Chaos used. 7000 inter-colliding primitives achieved at >60FPS. Not a limit though…

The new 1.5.1 hotfix release is now out! Make sure you update to:

  • Slight optimisations in structural Subject changes.
  • A major issue is fixed within the bit-masking functionality that could cause an invalid state.

1.6.0 feature release is now LIVE. Featured:

• Safe Traits editing support right in the Details Panel for Subjectives!
• Preliminary nested Mechanics support (iterating during iterating).
• Automatic Subjective Actor destruction on Subject despawn.
• Some API behavior standardized and is more consistent now.
• Important issues fixed.

image

We’re iterating like MAD and the next 1.7 functionality release is already LIVE with:
• Unlimited nesting support for Mechanics.
• Improved immutability semantics for Subjects.
• More structurized Trait queries.

vladius-pipeline-web-l

Let me grab your attention, please. Getting a little bit personal here. The «gopnik» on the photo is actually me - the main of the team behind the Apparatus ECS and here is my story for ya.

It’s not always easy to try something new, I know that by myself. This very summer I’ve stepped into the unknown, bought the necessary tools and have actually succeeded in constructing a new version of my country house’ watering pipeline, featuring the new fine filter. This has totally paid off as the quality of our water (and thereby life) has improved.

Still not sure if you’d like to construct pipelines with filters in Unreal Engine? Well, this might actually be the right time as we are participating in the global Marketplace SALE with a 50% discount price on our powerhouse-of-a-plugin! That is roughly 50% less excuses for you not going data-driven nor improving your quality of development NOW! :scream: :wink:

The wrench is solely for promotional purposes. The actual tools used are like totally different.

1 Like

so good!

1 Like