<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>TechnicallyArtist Blog</title><description>Tutorials and notes on building Unreal Engine systems: game mechanics, AI, and the problems the TechnicallyArtist plugins solve.</description><link>https://technicallyartist.com/</link><item><title>Squash and Stretch a Mesh Along a Spline in Unreal Engine</title><link>https://technicallyartist.com/blog/squash-and-stretch-along-spline-unreal-engine/</link><guid isPermaLink="true">https://technicallyartist.com/blog/squash-and-stretch-along-spline-unreal-engine/</guid><description>How to make a mesh squash, stretch, and bend as it travels along an editable spline in Unreal Engine using World Position Offset, so the geometry follows the curve while the actor transform and collision never move.</description><pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate><category>unreal-engine</category><category>splines</category><category>world-position-offset</category><category>materials</category><category>tutorial</category></item><item><title>Triggering Skill Checks: Solving Sessions and Timers (Unreal Engine)</title><link>https://technicallyartist.com/blog/unreal-skill-check-triggering/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-skill-check-triggering/</guid><description>How a radial skill check decides when to appear: a solving session that runs between Begin and End, an auto-trigger timer with randomized intervals, manual Show Gauge calls with optional per-check settings, and random on-screen placement.</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate><category>unreal-engine</category><category>skill-check</category><category>cpp</category><category>game-mechanics</category><category>tutorial</category></item><item><title>Scoring a Skill Check and Firing Blueprint Events (Unreal Engine)</title><link>https://technicallyartist.com/blog/unreal-skill-check-scoring-events/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-skill-check-scoring-events/</guid><description>How a radial skill check scores the player&apos;s stop: compare the gauge angle to the great zone first, then the good zone, else a miss, and broadcast one of three Blueprint events. Why great is tested first and what else counts as a miss.</description><pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate><category>unreal-engine</category><category>skill-check</category><category>cpp</category><category>blueprint</category><category>tutorial</category></item><item><title>Wiring a Widget to Dynamic Materials in Unreal Engine (Skill Check Gauge)</title><link>https://technicallyartist.com/blog/unreal-skill-check-widget-materials/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-skill-check-widget-materials/</guid><description>The Blueprint seam of a radial skill check: create dynamic material instances for the two zone arcs and the background ring, then on every update push the component&apos;s normalized zone values into the materials&apos; Angle, Radius, and Color parameters.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate><category>unreal-engine</category><category>umg</category><category>materials</category><category>skill-check</category><category>tutorial</category></item><item><title>Drawing a Radial Arc with a Material in Unreal Engine</title><link>https://technicallyartist.com/blog/unreal-skill-check-radial-material/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-skill-check-radial-material/</guid><description>How the skill check zones are drawn: a UMG material that builds a thick ring from two RadialGradientExponential nodes, then cuts an arc out of it with a radial-cut function driven by an Angle and an arc-length parameter. The Radius parameter is the zone size.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate><category>unreal-engine</category><category>materials</category><category>skill-check</category><category>ui</category><category>tutorial</category></item><item><title>Randomizing Good and Great Zones for a Skill Check (Unreal Engine)</title><link>https://technicallyartist.com/blog/unreal-skill-check-randomize-zones/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-skill-check-randomize-zones/</guid><description>How a radial skill check places its targets each attempt: a good zone randomized to fit inside the 0-1 dial, a great zone nested at a random offset inside it, and a tunable reaction lead-in so the gauge always starts a fair distance away.</description><pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate><category>unreal-engine</category><category>skill-check</category><category>cpp</category><category>game-mechanics</category><category>tutorial</category></item><item><title>Rotating a Skill Check Gauge in Unreal Engine (C++ Tick)</title><link>https://technicallyartist.com/blog/unreal-skill-check-rotating-gauge/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-skill-check-rotating-gauge/</guid><description>How the skill check needle rotates: a C++ component advances one normalized angle per tick from a rotations-per-second speed, wraps it to 0-1, tracks travel distance for a timeout, and the widget turns that angle into a render-transform rotation.</description><pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate><category>unreal-engine</category><category>skill-check</category><category>cpp</category><category>ui</category><category>tutorial</category></item><item><title>Radial Skill Check Architecture in Unreal Engine: How It Works</title><link>https://technicallyartist.com/blog/unreal-skill-check-how-it-works/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-skill-check-how-it-works/</guid><description>The architecture behind a radial skill check in Unreal Engine: one normalized 0-1 angle, a C++ component that owns the logic, a widget that only rotates a needle, and materials that draw the arcs. Why the visuals are split off from the gameplay.</description><pubDate>Mon, 04 May 2026 00:00:00 GMT</pubDate><category>unreal-engine</category><category>skill-check</category><category>ui</category><category>architecture</category><category>tutorial</category></item><item><title>Radial Skill Check in Unreal Engine: Complete Guide</title><link>https://technicallyartist.com/blog/unreal-engine-skill-check-system/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-engine-skill-check-system/</guid><description>How to build a Dead by Daylight style radial skill check in Unreal Engine: a C++ component that drives normalized 0-1 zone values, a widget that rotates one image, and materials that draw the good and great arcs. A reproducible build in seven steps.</description><pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate><category>unreal-engine</category><category>skill-check</category><category>blueprint</category><category>ui</category><category>game-mechanics</category></item><item><title>Parsing C++ Functions Without a Compiler: Declarations, Definitions, Stubs</title><link>https://technicallyartist.com/blog/unreal-editor-parse-cpp-functions/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-editor-parse-cpp-functions/</guid><description>How an Unreal editor locates a function&apos;s declaration in a header and its definition in a cpp with no AST: a filter pipeline that narrows candidates to exactly one, bracket matching that ignores strings and comments, overload disambiguation by parameter matching, and generating a definition stub from a declaration.</description><pubDate>Tue, 28 Oct 2025 00:00:00 GMT</pubDate><category>unreal-engine</category><category>cpp</category><category>parsing</category><category>editor</category><category>tutorial</category></item><item><title>C++ Syntax Highlighting in a Slate Text Editor</title><link>https://technicallyartist.com/blog/unreal-editor-cpp-syntax-highlighting/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-editor-cpp-syntax-highlighting/</guid><description>How to syntax-highlight C++ inside Unreal&apos;s Slate text framework: a two-state tokenizer feeding a marshaller that recovers semantic colors, the look-ahead heuristic that tells a class from a function call without a parser, color presets, and highlighting every occurrence of the word under the cursor.</description><pubDate>Thu, 23 Oct 2025 00:00:00 GMT</pubDate><category>unreal-engine</category><category>cpp</category><category>slate</category><category>syntax-highlighting</category><category>editor</category></item><item><title>Code Completion in an Unreal Editor: Dictionary, Reflection and LLM Context</title><link>https://technicallyartist.com/blog/unreal-editor-code-completion-context/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-editor-code-completion-context/</guid><description>Two completion systems compared: an instant offline dropdown backed by a trie and Unreal&apos;s reflection system, and an LLM inline suggestion. The focus is the token-economy context ladder, current line, nearby lines, code above the cursor, the whole function, and why you never send the whole class.</description><pubDate>Sat, 18 Oct 2025 00:00:00 GMT</pubDate><category>unreal-engine</category><category>cpp</category><category>ai</category><category>code-completion</category><category>editor</category></item><item><title>Integrating Claude and ChatGPT Into an Unreal Engine Plugin</title><link>https://technicallyartist.com/blog/unreal-editor-ai-assistant-integration/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-editor-ai-assistant-integration/</guid><description>A code-heavy walkthrough of wiring an LLM into the Unreal editor: one provider-agnostic HTTP client for both Claude and ChatGPT, the strategy and factory pattern, building and parsing JSON with FJsonSerializer, async requests with FHttpModule, marshalling back to the game thread, and bounding conversation history to control tokens.</description><pubDate>Mon, 13 Oct 2025 00:00:00 GMT</pubDate><category>unreal-engine</category><category>cpp</category><category>ai</category><category>claude</category><category>chatgpt</category></item><item><title>Building Slate UI and Project Settings for an Unreal Plugin</title><link>https://technicallyartist.com/blog/unreal-editor-slate-ui-and-settings/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-editor-slate-ui-and-settings/</guid><description>How a plugin panel is composed in Slate (SCompoundWidget, SNew vs SAssignNew, splitters, reactive _Lambda attributes) and how its options are exposed in Project Settings with a config UObject registered through ISettingsModule, with live updates via PostEditChangeProperty.</description><pubDate>Wed, 08 Oct 2025 00:00:00 GMT</pubDate><category>unreal-engine</category><category>cpp</category><category>slate</category><category>ui</category><category>editor</category></item><item><title>Adding Toolbar Buttons, Tabs and Menus to the Unreal Editor</title><link>https://technicallyartist.com/blog/unreal-editor-plugin-toolbar-and-tabs/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-editor-plugin-toolbar-and-tabs/</guid><description>How an editor plugin hooks into Unreal: declaring keyboard commands with TCommands and UI_COMMAND, docking a panel into the Blueprint editor with a workflow tab factory and FLayoutExtender, adding a toolbar button via FExtender, and building a right-click menu with FMenuBuilder.</description><pubDate>Fri, 03 Oct 2025 00:00:00 GMT</pubDate><category>unreal-engine</category><category>cpp</category><category>editor</category><category>slate</category><category>plugin</category></item><item><title>How to Use Claude or ChatGPT to Write C++ in Unreal Engine</title><link>https://technicallyartist.com/blog/claude-chatgpt-cpp-unreal-engine/</link><guid isPermaLink="true">https://technicallyartist.com/blog/claude-chatgpt-cpp-unreal-engine/</guid><description>A practical guide to using an AI assistant like Claude or ChatGPT for Unreal Engine C++: what context to give it, prompts that work, the reflection-macro gotchas, and how to iterate fast.</description><pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate><category>unreal-engine</category><category>cpp</category><category>ai</category><category>claude</category><category>chatgpt</category></item><item><title>Edit C++ With AI Inside Unreal Engine (Claude or ChatGPT)</title><link>https://technicallyartist.com/blog/edit-cpp-with-ai-unreal-engine/</link><guid isPermaLink="true">https://technicallyartist.com/blog/edit-cpp-with-ai-unreal-engine/</guid><description>Read, edit and generate the C++ behind a node without leaving Unreal Engine, with a Claude or ChatGPT assistant docked beside your Blueprint graph. Plus a six-part deep dive into how the editor is built: tabs, Slate UI, AI integration, completion, syntax highlighting and C++ parsing.</description><pubDate>Thu, 11 Sep 2025 00:00:00 GMT</pubDate><category>unreal-engine</category><category>cpp</category><category>ai</category><category>blueprint</category><category>code-editor</category></item><item><title>The Drop-Off Pile: Home Location and Pyramid Stacking</title><link>https://technicallyartist.com/blog/unreal-resource-stacking-pile/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-resource-stacking-pile/</guid><description>How gathered resources pile up neatly in Unreal Engine: a home location set on assignment or moved by cursor, an optional home marker actor, and a stacking utility that places each dropped item into a centered three-row pyramid instead of a messy heap.</description><pubDate>Thu, 27 Feb 2025 00:00:00 GMT</pubDate><category>unreal-engine</category><category>ai</category><category>math</category><category>rts</category><category>cpp</category></item><item><title>Multiplayer Gatherer AI: The Ownership and Replication Spine</title><link>https://technicallyartist.com/blog/unreal-resource-gathering-multiplayer/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-resource-gathering-multiplayer/</guid><description>Why resource-gathering AI in Unreal Engine must be spawned and owned by the player: beginning an assignment is a Server RPC, so the client has to own the minion. The full ownership chain from player to minion to resource to carried actor, plus the replicated state that keeps clients in sync.</description><pubDate>Sun, 23 Feb 2025 00:00:00 GMT</pubDate><category>unreal-engine</category><category>multiplayer</category><category>replication</category><category>rpc</category><category>ai</category></item><item><title>The Carried Resource: Spawn at a Socket, Attach, and Drop</title><link>https://technicallyartist.com/blog/unreal-resource-carried-actor/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-resource-carried-actor/</guid><description>How the harvested item is spawned, attached to a skeletal mesh socket, and dropped in Unreal Engine: an Extracted Resource component that rides the carried actor, server-side spawn and ownership, and a collision swap so the haul never shoves the worker but still stacks on the pile.</description><pubDate>Wed, 19 Feb 2025 00:00:00 GMT</pubDate><category>unreal-engine</category><category>ai</category><category>attachment</category><category>replication</category><category>cpp</category></item><item><title>The Resource Component: Harvestable Actors and the NavMesh Gotcha</title><link>https://technicallyartist.com/blog/unreal-resource-component-harvestable/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-resource-component-harvestable/</guid><description>How a Resource component marks an actor as harvestable in Unreal Engine: a Sphere component that doubles as the overlap trigger and extraction timer, a replicated extraction count that destroys the actor when depleted, and the Can Ever Affect Navigation trap that stops a worker reaching it.</description><pubDate>Sat, 15 Feb 2025 00:00:00 GMT</pubDate><category>unreal-engine</category><category>ai</category><category>navigation</category><category>replication</category><category>cpp</category></item><item><title>Assignments and Gameplay Tags: One Gather Job Into Many</title><link>https://technicallyartist.com/blog/unreal-resource-gathering-assignments-tags/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-resource-gathering-assignments-tags/</guid><description>How a data asset of Gameplay Tag pairs turns a single resource-gathering loop into wood, stone, and anything else in Unreal Engine. Each assignment maps an order tag to a resource tag, a carried actor, a Behavior Tree, a home marker, and an attach socket.</description><pubDate>Tue, 11 Feb 2025 00:00:00 GMT</pubDate><category>unreal-engine</category><category>ai</category><category>gameplay-tags</category><category>data-asset</category><category>rts</category></item><item><title>The Gatherer Component: Driving an Unreal Behavior Tree Loop</title><link>https://technicallyartist.com/blog/unreal-resource-gatherer-component/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-resource-gatherer-component/</guid><description>How the Gatherer component turns an AI character into an autonomous worker in Unreal Engine: a Server RPC to begin an assignment, a replicated state enum for animation, and a Blueprint-callable API that Behavior Tree tasks call to find, extract, carry, and drop.</description><pubDate>Fri, 07 Feb 2025 00:00:00 GMT</pubDate><category>unreal-engine</category><category>ai</category><category>behavior-tree</category><category>cpp</category><category>rts</category></item><item><title>Resource Gathering AI in Unreal: How the Gather Loop Is Structured</title><link>https://technicallyartist.com/blog/unreal-resource-gathering-architecture/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-resource-gathering-architecture/</guid><description>The architecture behind autonomous gatherer AI in Unreal Engine: three actor components (Gatherer, Resource, Extracted Resource), one Assignment data asset, and a Behavior Tree that sequences the find, extract, carry, drop loop, all server-authoritative.</description><pubDate>Mon, 03 Feb 2025 00:00:00 GMT</pubDate><category>unreal-engine</category><category>ai</category><category>behavior-tree</category><category>multiplayer</category><category>rts</category></item><item><title>Resource Gathering AI in Unreal Engine: Complete Guide</title><link>https://technicallyartist.com/blog/unreal-engine-resource-gathering-ai/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-engine-resource-gathering-ai/</guid><description>How to build autonomous worker AI in Unreal Engine that finds, harvests, and hauls resources: three components, an assignment data asset, a Behavior Tree gather loop, and a server-authoritative ownership spine. A seven-part guide, from architecture to the drop-off pile.</description><pubDate>Wed, 22 Jan 2025 00:00:00 GMT</pubDate><category>unreal-engine</category><category>ai</category><category>behavior-tree</category><category>multiplayer</category><category>rts</category><category>tutorial</category></item><item><title>Fog of War Beacons with Niagara Grid2D in Unreal Engine</title><link>https://technicallyartist.com/blog/unreal-fog-of-war-vision-occluders/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-fog-of-war-vision-occluders/</guid><description>Inside the beacon Niagara system for Unreal Engine fog of war: a Grid2D-to-render-target setup whose GPU simulation stages clear the grid, stamp every beacon&apos;s spotlight into cells, and copy it to the render target the fog material samples, with no particle renderer.</description><pubDate>Fri, 30 Aug 2024 00:00:00 GMT</pubDate><category>unreal-engine</category><category>fog-of-war</category><category>niagara</category><category>materials</category><category>tutorial</category></item><item><title>Writing Fog of War Beacons to the Material in Unreal Engine</title><link>https://technicallyartist.com/blog/unreal-fog-of-war-beacons-niagara/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-fog-of-war-beacons-niagara/</guid><description>Add stationary vision sources to top-down fog of war in Unreal Engine. The Fog Manager packs each beacon&apos;s location, radius, and FOV into FVector4 arrays and hands them to a Niagara system, and the material unions the beacon mask with the player&apos;s reveal.</description><pubDate>Mon, 26 Aug 2024 00:00:00 GMT</pubDate><category>unreal-engine</category><category>fog-of-war</category><category>niagara</category><category>materials</category><category>tutorial</category></item><item><title>Writing Player Location to Fog of War in Unreal Engine: Floor Mask and Spotlight</title><link>https://technicallyartist.com/blog/unreal-fog-of-war-floor-mask-spotlight/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-fog-of-war-floor-mask-spotlight/</guid><description>How the player&apos;s position drives top-down fog of war in Unreal Engine: the Fog Manager writes CharacterUVLocation each tick, and the material turns it into a SphereMask spotlight intersected with a baked floor mask so light lands only on visible, walkable ground.</description><pubDate>Thu, 22 Aug 2024 00:00:00 GMT</pubDate><category>unreal-engine</category><category>fog-of-war</category><category>materials</category><category>tutorial</category></item><item><title>Fog of War Master Material in Unreal Engine: Mask, Occluders, and Cliff Shadows</title><link>https://technicallyartist.com/blog/multiplayer-fog-of-war-part-2-cliff-shadows/</link><guid isPermaLink="true">https://technicallyartist.com/blog/multiplayer-fog-of-war-part-2-cliff-shadows/</guid><description>How M_Main_Fog_Volume controls light and shadow in Unreal Engine fog of war: the dark-to-lit lerp, the combined mask, custom-stencil vision occluders that stay unlit, and a scene-capture cliff-shadow mask subtracted from the reveal.</description><pubDate>Sun, 18 Aug 2024 00:00:00 GMT</pubDate><category>unreal-engine</category><category>fog-of-war</category><category>materials</category><category>tutorial</category></item><item><title>Fog of War in Unreal Engine: The Fog Manager and Post-Process Setup</title><link>https://technicallyartist.com/blog/multiplayer-fog-of-war-part-1-post-process-setup/</link><guid isPermaLink="true">https://technicallyartist.com/blog/multiplayer-fog-of-war-part-1-post-process-setup/</guid><description>How the Fog Manager holds top-down fog of war together: an unbound post-process volume, a dynamic instance of the M_Main_Fog_Volume material driven from C++, and the fixed parameter contract it fills every tick.</description><pubDate>Wed, 14 Aug 2024 00:00:00 GMT</pubDate><category>unreal-engine</category><category>fog-of-war</category><category>materials</category><category>tutorial</category></item><item><title>Fog of War Actors and Components in Unreal Engine</title><link>https://technicallyartist.com/blog/unreal-fog-of-war-actors-and-components/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-fog-of-war-actors-and-components/</guid><description>The cast of a top-down fog of war system in Unreal Engine: the Fog Manager actor, the unbound post-process volume, the M_Main_Fog_Volume material, beacon and occluder components, the Niagara system, and the shadow scene capture, and what each one is for.</description><pubDate>Sat, 10 Aug 2024 00:00:00 GMT</pubDate><category>unreal-engine</category><category>fog-of-war</category><category>materials</category><category>tutorial</category></item><item><title>Top-Down Fog of War in Unreal Engine: How It Works</title><link>https://technicallyartist.com/blog/unreal-fog-of-war-introduction/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-fog-of-war-introduction/</guid><description>An introduction to top-down fog of war in Unreal Engine: why it is a screen-space post-process and not GPU visibility work, and the two independent layers, the local visual reveal and the server-authoritative actor hiding, this guide separates.</description><pubDate>Tue, 06 Aug 2024 00:00:00 GMT</pubDate><category>unreal-engine</category><category>fog-of-war</category><category>materials</category><category>tutorial</category></item><item><title>Top-Down Fog of War in Unreal Engine: Complete Guide</title><link>https://technicallyartist.com/blog/top-down-fog-of-war-unreal-engine/</link><guid isPermaLink="true">https://technicallyartist.com/blog/top-down-fog-of-war-unreal-engine/</guid><description>How to build top-down fog of war in Unreal Engine as a screen-space post-process: an unbound volume, a Fog Manager, the M_Main_Fog_Volume material, player and beacon vision, Niagara, and cliff shadows. A reproducible build in seven steps.</description><pubDate>Fri, 02 Aug 2024 00:00:00 GMT</pubDate><category>unreal-engine</category><category>fog-of-war</category><category>materials</category><category>multiplayer</category><category>tutorial</category></item><item><title>Display Player Location on a Map with Render Targets in Unreal Engine</title><link>https://technicallyartist.com/blog/unreal-render-target-player-location-map/</link><guid isPermaLink="true">https://technicallyartist.com/blog/unreal-render-target-player-location-map/</guid><description>Use a Scene Capture 2D and a render target to bake a top-down map mask in Unreal Engine, draw the live player location on it with a custom depth stencil, then export it as a static texture.</description><pubDate>Sat, 06 Jul 2024 00:00:00 GMT</pubDate><category>unreal-engine</category><category>render-targets</category><category>scene-capture</category><category>materials</category><category>tutorial</category></item><item><title>Hi, I&apos;m TechnicallyArtist</title><link>https://technicallyartist.com/blog/introducing-technicallyartist/</link><guid isPermaLink="true">https://technicallyartist.com/blog/introducing-technicallyartist/</guid><description>A short intro to the plugins and tutorials I make for Unreal Engine, and what to expect from this blog.</description><pubDate>Sat, 01 Jun 2024 00:00:00 GMT</pubDate><category>unreal-engine</category><category>behind-the-scenes</category></item></channel></rss>