Both sides previous revision Previous revision Next revision | Previous revision |
en:toolworks:docs:apparatus:features [2021/10/19 09:31] – vladius | en:toolworks:docs:apparatus:features [2023/01/12 13:01] (current) – vladius |
---|
The current list of features includes: | The current list of features includes: |
| |
* A complete Unreal Engine integration of the data-driven workflow. Both C++ and Blueprint development is supported. | * Fundamentally ECS. A complete Unreal Engine integration of the [[en:toolworks:docs:apparatus:ecs|data-oriented]] workflow. |
* [[en:toolworks:docs:apparatus:ecs|ECS]] itself provides for some real architectural and development benefits as it's less prone to coupling and a lot more type-dynamic in its nature. | * Loyal to the ecosystem. Both C++ and Blueprint development paths are supported. |
* Assign and customize your Trait/Detail blocks right from the Detail Panel in Unreal Editor. | * Best of two worlds. Flexible UObject-based [[en:toolworks:docs:apparatus:detail|Details]] and firm, performant [[en:toolworks:docs:apparatus:trait|Traits]]. |
* Dedicated user-friendly Blueprint node is provided as a center of mechanic evaluation. | * Pedal to the metal. Featuring the Chunk-based data storage that is hardware-friendly and [[wp>CPU_cache|cache]]-oriented by design. Quite a bit of performance optimizations on top: lookup tables for a faster Filtering, bitarray-based matching, mainline Component indexing and more. |
* Versatile Component-including and -excluding filtering in the mechanics. | * Power at your fingertips. Our [[cpp>language/lambda|lambda]]-based [[en:toolworks:docs:apparatus:operating|operating]] with an argument dependency injection is your next favorite shorthand. |
* Multiple Details of the same class on a single subjective are allowed. All of the available Detail combinations are processed in the operating body. | * Querying with ease. A versatile Component-including and -excluding filtering for the Mechanics. |
* The Detail classes can be inherited for extra modularity and flexibility. Just create a common Mechanic with a common ancestor in the filter. | * Fine-grained selection. Bitwise [[en:toolworks:docs:apparatus:flagmark|Flagmark]] filtering support for boolean-based states. |
* Dedicated user experience touches for some clear reading, validation and overall ease of use. | * Straightforward editing. Assign and customize your Component blocks right from the [[ue>ProgrammingAndScripting/Blueprints/Editor/UIComponents/Details/index.html|Details Panel]] in Unreal Editor. |
* Several performance optimizations: caching, fast bit-array lookups, manual Belt assignment. | * Multiple Details of the same class on a single Subjective are supported. All of the available Detail combinations are processed in the Operating body. |
* Concurrent (multi-threaded) iterating with a special compile-time [[en:toolworks:docs:apparatus:solidity|solid]] semantic. | * Inheritance at will. The Detail classes can be inherited for extra modularity and flexibility. |
* [[en:toolworks:docs:apparatus:steady-tick|Steady-ticking]] implementation for some extra stability of your game frame-dependent logic. | * Concurrency scaling. Full multi-threaded iterating support with a dedicated compile-time [[en:toolworks:docs:apparatus:solidity|Solid]] semantic for extra safety. Supports [[en:toolworks:docs:apparatus:deferred|deferred]] execution of the transactions. |
| * Ready to speak traffic. An elegant and versatile custom [[en:toolworks:docs:apparatus:networking|networking]] solution built upon the Unreal's replication and RPC functionality. |
| * Dedicated in-Editor user experience touches for some clear reading, validation and overall ease of use. |
| * Stable clockwork. The [[en:toolworks:docs:apparatus:steady-tick|steady-ticking]] implementation provides for some extra stability of your frame-dependent logic. |
* Thoroughly documented [[appi>|API]] with a dedicated [[en:toolworks:docs:apparatus|user manual wiki pages]]. | * Thoroughly documented [[appi>|API]] with a dedicated [[en:toolworks:docs:apparatus|user manual wiki pages]]. |
| |