Overview

The Fluent Game API describes a full game board in C++ by chaining builder structs (FCBP_*), as an alternative to wiring it in Blueprints. You write one class per board (deriving from UCAbstractLevel), override buildLevel(), and call addPlayer1ST / addPawn / addActor / addCharacter / addSide2D, each configured with chained setters. The reference implementation is UCLevel1 (board BOARD_1).

How to read this section

Reusable sub-structs (skeletal, AI, lifecycle, movement…) live under the entity that owns them (mostly under Pawn) and are reached from the entity’s setter table.

Two rules of the fluent grammar

  1. Chaining. Every setter writes a field and returns the struct, so you chain: FCBP_CPLifecycle().maxLife(100.0f).damage(5.0f).
  2. Data vs skills. Fluent setters carry data only. Skill hooks (onHitSkill, onDeathSkill…) are not fluent setters: they are bound separately as {ECSkill, this, &method} pairs (see the Skills section).