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.

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.

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.

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