Skip to content

Reddy-dev/Unreal-Flecs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unreal Engine Flecs Integration

Unreal-Flecs Discord: https://discord.gg/Q6EWgd8tFK

Note:

Many Features are not complete

Only tested on Version: UE 5.7 MSVC/partially Clang

Contributors to Unreal-Flecs:

@Megafunk
@ronaldburns

For Full Performance benefits make sure to use LTO/PGO in shipping builds.

Wiki/Documentation coming soon

Features:

Universalized Component Type Registration CPP <--> Meta Type, Works with USTRUCT, UENUM, and UCLASS

OS-API implementation for Unreal

Tracked ObjectPtr References in Components (needs testing)

Module Implementation with Hard and Soft Dependencies

Modular Game Loop Implementation to allow for any pipeline setup (also works with module dependencies)

Partial Natvis support for different flecs types

Modifications to Flecs:

New Component Registration in Source/FlecsLibrary/Public/flecs/addons/cpp/component.hpp Disabled flecs Auto Component Registration (do not re-enable) set_symbol in Source/FlecsLibrary/Public/flecs/addons/cpp/mixins/entity/builder.hpp

to_constant in Source/FlecsLibrary/Public/flecs/addons/cpp/mixins/enum/impl.hpp and Source/FlecsLibrary/Public/flecs/addons/cpp/mixins/enum/entity\_view.inl

enum_data::entity(underlying_type_t value) in Source/FlecsLibrary/Public/flecs/addons/cpp/impl/world.hpp

EcsFirstUserComponentId is set to 9

added bUseLowId bool paramn to untyped_component(flecs::world_t *world, const char *name) constructor in Source/FlecsLibrary/Public/flecs/addons/cpp/component.hpp

ensure in the Entity CPP-API is renamed to obtain to be compatible with Unreal

About

Unreal Engine Flecs Plugin

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 58.9%
  • C++ 40.9%
  • C# 0.2%