overview

Project Overviews

You can read our important (including private ones) plugins’ details and their motives in here.

No-Code Maintenance Training Editor

I developed a no-code editor to allow factory maintenance supervisors to create their maintenance training simulations without coding or scripting knowledge.

Workflow

  1. Import 3D Models
  2. Describe scenario by writing
  3. Make necessary movement for once

(Video can be shared privately)

LLAMA.CPP Plugin

This plugin allows digital twins to harvest power of LLMs at local.

Roadmap

UE5 OpenCASCADE Wrapper (CAD Importer)

Factories are always changing and improving for various reasons such as increasing observability or replacing hard-to-find parts with alternatives at maintenance operations. Most of the time, these changes include company-specific know-hows. So, companies don’t want to share their 3D models after some level. For this reason, runtime import solutions are the most important feature of 3D digital twin training simulation editors. In order to solve that, I am working on OpenCASCADE wrapper for Unreal Engine 5.

Currently it has these features.

The converted GLB model contains all names and hierarchy correctly. So, we can import them at runtime with all platforms. Besides this, I am working on fully functional CAD importer feature. Right now it can export vertex locations and I can create static meshes with them by using geometry scripts, Static Mesh LOD Resources and Static Mesh Descriptions. But I need to improve normals, UV and tangent calculations. The library itself can support native CAD formats such as IAM, SLDASM and Parasolid but these extensions require paid subscription. So, they disabled but I can easily enable them.

VIDEOS

https://www.linkedin.com/feed/update/urn:li:activity:7294055483185795073/

UE5 Mesh Operations

My open source plugin has these runtime features. Change pivot location of static, Generate static mesh (not dynamic or procedural mesh. actual static mesh), Create static, procedural and scene components with user defined names, Some helpers for automatic shapes The plugin simplifies the creation of runtime importers. Because it handles all render data of Unreal Engine.

https://github.com/Frozen-Projects/MeshOperations

Runtime Certificate Generators (MBedTLS & OpenSSL)

UE5 OPC UA Client

I developed open62541 based OPC UA client plugin for Unreal Engine 5 to access industrial machine data in real time.

Current Features

Supported Platforms

Usecases

VIDEOS

UE5 Modbus Client

I developed libmodbus based modbus client plugin for Unreal Engine 5 to access legacy industrial machine data in real time.

Videos

https://www.linkedin.com/feed/update/urn:li:activity:7226946032792698880/

General Database Connector

I integrated Microsoft ODBC, OLEDB, mongocxx, libpqxx, sqlite libraries to access various databases from Unreal Engine 5 at runtime.

Mongocxx Specific Features

Others

MQTT Clients

Eclipse Paho C based MQTT client libraries.

LibHV Based HTTP Server Library

Digital twins projects are not just fancy visualizing tools for industrial data. Sometimes we may want to feed other MES (manufacturing execution systems) products with our processed data. In these cases, HTTP servers can help us. Current HTTP server solutions of UE5 are blocking types or use main thread. So, they can’t satisfy performance requirements when there are too much API requests. To solve that, I integrated LibHv library to UE5.

Github

https://github.com/Frozen-Projects/FF_HTTP_LHV

UE5 License Spring Wrapper

Software licenses are fundamental for anti-piracy. License Spring offers easy-to-use cloud based licensing solutions. So, I created a blueprint exposed plugin that can talk with their servers.

Why did I develop That ?

They claim that they have UE5 plugin but they don’t They only have binary C++ SDK with a specific OpenSSL version and it is a big problem. Because UE5 already has a version of OpenSSL (1.1t) and Epic used it in too much modules, we can’t directly update or integrate a different version.</br> I know that, we can use only DLL files of different OpenSSL versions if all OpenSSL includes are in .cpp files and argument signatures use opque pointers like void*. However, we can use this method for only a single different version and I would like to use OpenSSL 3. But because License Spring doesn’t give us actual source code, we can’t change its OpenSSL version and they don’t have any blueprint interface.</br> To solve all these issues, I reverse engineered their JavaScript code to write Unreal Engine optimize wrapper from scratch. It can check (including customer informations), activate and deactivate current license at runtime.

UE5 PDFium Wrapper

PDFium wrapper to create and edit PDF files at runtime.

Platform Support

Features

https://github.com/Frozen-Projects/FF_PDFium

Screen and Window Recorder Plugin

I developed Microsoft Win32 BitBlt API based screen and window recorder plugin. It can send keyboard and mouse commands to the PC. So, you can bring Horizon Workspace or Apple Vision Pro screen streaming features to UE5.

Use Cases

Why BitBlt ?

Notebooks with multiple GPUs (for example AMD APUs or Intel Iris / HD Graphics), can cause problems with other technologies. Because while Unreal Engine 5 uses high-end GPUs, other windows such as Google Chrome or Microsoft PowerPoint use internal GPU. So, UE5 can’t capture these windows. To solve performance problem, I used FRunnableThread.

https://github.com/Frozen-Projects/WinInputs

Window Manager

Features

https://github.com/Frozen-Projects/WindowSystem

Custom Viewport Usage Sample

https://www.linkedin.com/feed/update/urn:li:activity:7274327445254602753

Runtime Logger

It catches all UE_LOG based logs and exposes it to blueprint interface for more advance processing and visualization.