GregOrigin - CodeForge: Native Node-based Visual C++ Programming System

Watch it in action.

Read the manual.

Functional open source version available: https://github.com/gregorik/CodeForge. Fab hosts the fully featured Pro version.

CodeForge: Visual C++ Code Generator for Unreal Engine 5

Design classes visually. Generate production-ready C++. Skip the boilerplate.

CodeForge is a node-based editor plugin that lets you define UE5 classes, structs, enums, and interfaces in a visual graph β€” then generates fully UHT-compliant, compile-ready .h and .cpp files at the click of a button.

Why CodeForge?

Every Unreal C++ class starts with the same ceremony: macro declarations, include chains, replication boilerplate, specifier strings you've typed a thousand times. CodeForge eliminates that friction while keeping you in full control of the output.

Visual Graph ──▢ Template Engine ──▢ .h / .cpp on disk ──▢ Compile

You design the shape of your code visually. CodeForge handles the syntax.

Core Features

β—† Node-Based Class Designer

Build your C++ types by connecting nodes in an intuitive graph editor. Eight node types cover the full UE5 type system:

Class, Struct, Enum, Interface, Property, Function, RPC, Delegate.

Connect member nodes to type nodes via typed pins. The schema enforces correct connections: properties connect to classes and structs, RPCs only to actor-derived classes.

β—ˆ Live Code Preview

A split-pane preview panel shows the generated .h and .cpp in real time as you edit. Every change in the graph instantly reflects in the preview: no guesswork about what the output will look like.

β—‡ Full Replication Scaffolding

Check a single box and CodeForge generates the entire replication setup:

  • bReplicates = true in the constructor

  • GetLifetimeReplicatedProps() override with per-property DOREPLIFETIME_CONDITION()

  • All 15 UE5 replication conditions (CONDOwnerOnly, COND_InitialOnly, CONDSimulatedOnly, ...)

  • OnRep_ functions for RepNotify properties

  • Server/Client/NetMulticast RPCs with Implementation and Validate stubs

Networking code that normally takes 15 minutes of careful copy-paste: generated correctly in seconds.

β—† Smart Validation with Auto-Fix

Real-time validation runs on every edit and displays errors and warnings directly on graph nodes:

Check Example Duplicate names Two properties both named Health C++ keyword conflicts Property named class or return UE5 naming conventions Bool not prefixed with b, wrong class prefix Type corrections Float ➜ float, String ➜ FString, Vector ➜ FVector Context errors RPC on a non-Actor class, RepNotify without Replicated Enum integrity Duplicate entries, empty enums

Many warnings include one-click auto-fixes β€” click to correct the b prefix, fix a type name, or add the proper class prefix.

β—ˆ Customizable Template Engine

Code generation is driven by .cft template files using a clean Handlebars-like syntax.

Override any template. Point Custom Template Path in Project Settings to your own .cft files and CodeForge uses them instead β€” brand your headers, add team conventions, or restructure the output however you like.

β—‡ Structural Change Detection + Live Coding

CodeForge maintains a generation manifest and classifies each regeneration:

  • Structural change (new properties, renamed functions) ➜ hot reload required

  • Behavioral change (function body edits) ➜ triggers Live Coding automatically

This means editing function bodies through CodeForge and recompiling can happen without leaving the editor.

β—† Custom Thumbnails in Content Browser

Every CodeForge blueprint asset gets a unique, auto-rendered thumbnail:

  • Color-coded by type (blue for classes, green for structs, amber for enums, cyan for interfaces)

  • Shows the kind letter, subtype label, and member count

  • Colors sync with your node color settings β€” retheme the graph, and the thumbnails follow

β—ˆ Drag-and-Drop Type Assignment

Drag a CodeForge Struct or Enum asset from the Content Browser directly onto a Property node: the property type and include path are filled in automatically. No manual typing of FMyStruct or figuring out include paths.

β—‡ RPG Starter Kit Examples

Hit the Examples button to generate a complete set of six interconnected assets: each of them fully configured with properties, functions, replication, and cross-references β€” ready to generate and compile as a starting point for any project.

Supported Class Types

CodeForge covers 11 UE5 base class types out of the box:

AActor | APawn | ACharacter | UActorComponent | USceneComponent | UObject | AGameModeBase | AGameStateBase | APlayerController | APlayerState | AHUD

Plus USTRUCT, UENUM, and UINTERFACE β€” covering the vast majority of gameplay C++ types.

CodeForge β€” because life's too short to type GetLifetimeReplicatedProps by hand.

1 Like

0.2.0 Changelog (9 April 2026)

The primary focus of the update was on implementing Advanced Replication and a Structural Change Detection system.

  1. RPC & Advanced Replication System
    The plugin now supports full visual definition of networking logic:
  • New RPC Definitions: Added UCodeForgeRPCDef and CodeForgeNode_RPC to allow visual configuration of Server, Client,
    and NetMulticast functions.
  • RepNotify Support: Enhanced UCodeForgePropertyDef to include RepNotify flags, which automatically generate the
    OnRep_PropertyName boilerplate.
  • Lifetime Replication: Updated templates to automatically override and populate GetLifetimeReplicatedProps.
  1. Structural Change Detection
    Implemented the FCodeForgeChangeDetector system:
  • Generation Manifests: The plugin now saves a JSON manifest of generated classes.
  • Intelligent Classification: It can now differentiate between Structural Changes (new properties, changed function
    signatures) and Behavioral Changes (minor logic tweaks), allowing for smarter hot-reloading and compilation
    strategies.
  1. Handlebars Template Engine v2
    The .cft templates in Content/Templates received a major overhaul:
  • Added support for AdditionalIncludes and complex {{#each}} loops for RPCs and replication.
  • Modularized the copyright_header and rep_notify templates for better maintainability.
  1. RPG Starter Kit & Documentation
    A separate documentation is released, dedicated to the evolved RPG Starter Kit example project (RPGKit_Manual.html), showcasing these new features:
  • New Demo Scenario: A walkthrough for building an Action RPG base, featuring an ARPGCharacter with replicated stats
    and a URPGInventoryComponent with server-validated item logic.
  • Console Commands: Added built-in cheat commands (e.g., CheatNuke, CheatGodMode) to the generated boilerplate for
    instant testing of networked logic.
  1. UI/UX Enhancements
  • Validation Badges: Added a ValidationBadge slot to graph nodes, allowing for real-time visual feedback when a
    node’s configuration is invalid (e.g., missing class name or invalid replication settings).
  • Binary Refresh: The plugin modules were fully rebuilt and verified on Unreal Engine 5.7.0.
1 Like

Added 2 new pages for testing purposes:
:placard: CodeForge Automation Test Summary
:placard: CodeForge RPG Starter Kit Generated Code Samples

I’m also adding a rebuild script for the generated code samples, aimed to facilitate familiarizing yourself with the CodeForge plugin:

New-CodeForgeGeneratedSamples.ps1 (26.4 KB)

0.2.1 changelog (16 April 2026)

Added

Playable RPG Starter Kit Demo

  • Added a playable Unreal RPG demo map:
    • Content/CodeForgeExamples/RPGStarterKit/Maps/RPG_Demo.umap
  • Added generated/runtime RPG demo C++ types:
    • ARPGCharacter
    • ARPGEnemy
    • ARPGGameMode
    • ARPGItemPickup
    • URPGInventoryComponent
    • Damageable
    • EItemRarity
    • FRPGItemData
  • Added a full playable loop:
    • Character movement, turning, camera, and attack input.
    • Enemy damage/death flow through the IDamageable interface.
    • Pickups that add items to the inventory.
    • Inventory slot and weight limits.
    • XP gain and level-up delegates.
    • Demo auto-spawning for enemies and pickups.
  • Added RPG console commands:
    • CheatAttack
    • CheatGainXP
    • CheatAddItem
    • CheatHeal
    • CheatGodMode
    • CheatNuke
  • Added automation coverage for the playable loop:
    • CodeForge.RPGStarterKit.PlayableLoop

CodeForge Generator Features

  • Added Interface as a supported ECodeForgeBlueprintKind.
  • Added delegate generation support through new FCodeForgeDelegateDef.
  • Added ECodeForgeDelegateType with dynamic, multicast, dynamic multicast, and simple delegate variants.
  • Added support for:
    • Interface headers/sources.
    • Class interface inheritance and interface includes.
    • Delegate declaration macros.
    • Delegate UPROPERTY generation.
    • Custom constructor bodies.
    • Custom function bodies.
    • Custom RPC bodies.
    • Custom RepNotify bodies.
    • Exec functions.
    • Native virtual override functions.
    • Const-qualified function declarations and implementations.
    • Server RPC validation stubs.
  • Added class/struct/enum prefix handling to avoid double-prefixing names such as ARPGCharacter, FRPGItemData, and
    EItemRarity.

Editor UX

  • Added an editor toolbar button for creating CodeForge Blueprint assets.
  • Added an Examples button inside the CodeForge asset editor.
  • Added RPG Starter Kit example generation from the editor:
    • Creates example CodeForge assets.
    • Generates or preserves corresponding C++.
    • Creates/saves the playable RPG demo map.
    • Syncs the Content Browser to generated assets.
    • Shows completion notifications.
  • Added graph population from existing blueprint data when opening a CodeForge asset with an empty graph.
  • Added save-time graph-to-blueprint sync.
  • Added graph search UI and auto-layout entry point.
  • Added branded graph/details/preview panels, including:
    • CodeForge headers.
    • Accent strips.
    • Watermark.
    • Live generated-code preview styling.
  • Added custom CodeForge thumbnail rendering for CodeForge Blueprint assets.
  • Added configurable node colors, branding colors, font sizes, and toolbar visibility settings.

Graph Nodes

  • Added Delegate graph node support.
  • Added Interface graph node support.
  • Added delegate pins on class nodes.
  • Added schema support for:
    • Class to delegate connections.
    • Interface to function connections.
    • Delegate pin coloring.
    • Interface node creation.
    • Delegate node creation.
  • Added node autowiring behavior.
  • Added drag-and-drop support for setting property types from CodeForge struct/enum assets.

Templates

  • Added new interface templates:
    • interface_header.cft
    • interface_source.cft
  • Updated class templates to emit:
    • Interface includes.
    • Interface inheritance.
    • Delegate declarations and properties.
    • Constructor bodies.
    • Native event implementations.
    • Regular function implementations.
    • RPC implementations.
    • Server RPC validation.
    • RepNotify bodies.
  • Updated struct and enum templates to use resolved owner names.
  • Updated enum template behavior so UMETA(…) is emitted only when metadata exists.

Documentation and Sample Packaging

  • Added CodeForge documentation resources:
    • Main docs page.
    • RPG Starter Kit manual.
  • Added Tools/New-CodeForgeGeneratedSamples.ps1, which builds a buyer-facing/generated-samples bundle with:
    • Schema JSON.
    • Generated C++ copies.
    • Manifest with hashes.
    • Optional build and automation proof.
    • HTML summary.
    • ZIP archive.
  • Added plugin filter config for packaging docs, templates, source, config, and plugin metadata.

Changed

Runtime Data Model

  • Made validation results Blueprint-visible.
  • Made property/function/RPC/enum definition fields Blueprint-readable/writable with CodeForge categories.
  • Added VisibleAnywhere support to property specifier generation.
  • Added IncludePath, FunctionBody, OnRepBody, bExec, bUFunction, bVirtual, and bOverride fields where relevant.
  • Updated validation so delegates are checked for duplicate names, empty names, invalid names, and Unreal delegate
    parameter limits.
  • Added interface validation for duplicate/empty function names and empty interfaces.
  • Updated empty-class validation so delegates count as class content.

Generator Tests

  • Added tests for:
    • Delegate generation.
    • Interface generation.
    • Class implementing an interface.
    • Native virtual override generation.
  • Existing test files received copyright headers.
1 Like

Video update on 0.2, focused on the RPG Starter Kit example project:

Changelog [0.2.2] - 2026-05-08

Added

  • Code Preview Panel: Added a real-time preview panel showing generated .h and .cpp code alongside the node graph.
  • Asset Creation Wizard: Introduced a new visual setup wizard for asset creation, featuring archetype selection cards for Actors, Components, Structs, Enums, and Interfaces.
  • Real-Time Validation: Validation errors and warnings are now visualized directly on the relevant graph nodes.
  • Custom Graph Nodes: Added SGraphNode_CodeForge to provide color-coded node headers, error badges, and improved pin layouts.
  • Undo/Redo Transactions: Full transaction support added for all graph operations, ensuring safe undo/redo capabilities.
  • IncludePath Support: Added an IncludePath field to Property definitions for automatically handling custom type includes.
  • Two-Way Synchronization: Implemented SyncFromBlueprint to keep graph nodes strictly synchronized with the underlying data asset.
  • Plugin Settings: Added a global CodeForge settings page (in Project Settings) to configure brand colors, default prefixes, and Live Coding behaviors.

Fixed

  • Graph Tab Visibility: Fixed an issue where the Editor’s Graph tab failed to display due to an incorrect layout role.
  • Wizard Interactivity: Fixed the archetype selection cards in the wizard by switching from unresponsive buttons to visually distinct toggle checkboxes.
  • Editor Stability: Hardened editor stability by improving null-safety, handling missing graph commands, and refining output path resolution.
  • UE Build: Addressed various UE5.5, 5.6, 5.7 specific build and compiler errors across the plugin.
1 Like

0.2.2 video update:

1 Like