<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Christian Santori — Blog</title>
    <link>https://christiansantori.com/blog</link>
    <atom:link href="https://christiansantori.com/rss.xml" rel="self" type="application/rss+xml" />
    <description>Technical animation, rigging, and pipeline writing from Christian Santori. Maya/Unreal tools, NPC facial systems, and shipped-game war stories.</description>
    <language>en-us</language>
    <lastBuildDate>Fri, 23 Oct 2026 16:45:00 GMT</lastBuildDate>

    <item>
      <title>Profiling Mass Entity Crowds in Unreal Engine</title>
      <link>https://christiansantori.com/blog/profiling-mass-entity-crowds-unreal-engine</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/profiling-mass-entity-crowds-unreal-engine</guid>
      <pubDate>Fri, 23 Oct 2026 15:30:00 GMT</pubDate>
      <category>Unreal Engine</category>
      <description>Measure Mass Entity crowd performance with repeatable camera routes, representation and simulation LOD checks, Unreal Insights captures, and transition tests.</description>
    </item>

    <item>
      <title>Debugging Zone Graph Connections in Unreal Engine</title>
      <link>https://christiansantori.com/blog/debugging-zone-graph-connections-unreal-engine</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/debugging-zone-graph-connections-unreal-engine</guid>
      <pubDate>Fri, 23 Oct 2026 15:30:00 GMT</pubDate>
      <category>Unreal Engine</category>
      <description>Diagnose broken Zone Graph junctions in Unreal Engine with directed-link checks, tag-filter tests, loading-state checks, and repeatable route validation.</description>
    </item>

    <item>
      <title>Maya Mesh Updates: Checking Skin Weights and BlendShapes</title>
      <link>https://christiansantori.com/blog/maya-mesh-update-skin-weight-blendshape-transfer-checks</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/maya-mesh-update-skin-weight-blendshape-transfer-checks</guid>
      <pubDate>Fri, 23 Oct 2026 15:30:00 GMT</pubDate>
      <category>Maya Tools</category>
      <description>Check Maya skin weight and BlendShape transfers after a mesh update, from vertex correspondence and deformer order to pose tests and release notes.</description>
    </item>

    <item>
      <title>Debugging Interrupted Smart Object Interactions</title>
      <link>https://christiansantori.com/blog/unreal-engine-smart-objects-interruption-cleanup</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/unreal-engine-smart-objects-interruption-cleanup</guid>
      <pubDate>Fri, 23 Oct 2026 15:30:00 GMT</pubDate>
      <category>Unreal Engine</category>
      <description>Debug interrupted Unreal Engine Smart Object interactions with clear claim ownership, failed approach recovery, montage cleanup, and slot reuse tests.</description>
    </item>

    <item>
      <title>What Makes a Game World Feel Alive?</title>
      <link>https://christiansantori.com/blog/what-makes-a-game-world-feel-alive</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/what-makes-a-game-world-feel-alive</guid>
      <pubDate>Fri, 16 Oct 2026 00:35:00 GMT</pubDate>
      <category>Game Development</category>
      <description>Independent activity, coherent responses, shared rhythm, traces and quiet: a reflective developer field guide to living game environments.</description>
    </item>

    <item>
      <title>Building Custom Rig Solvers with Matrix Math and Code</title>
      <link>https://christiansantori.com/blog/custom-rig-solvers-matrix-math-code</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/custom-rig-solvers-matrix-math-code</guid>
      <pubDate>Fri, 18 Sep 2026 12:00:00 GMT</pubDate>
      <category>Technical Animation</category>
      <description>How transforms become motion, when a custom solver is justified, and how to separate matrix math, dependency-graph evaluation, scene integration, and animator-facing controls.</description>
    </item>

    <item>
      <title>Let's Talk About Triangulation</title>
      <link>https://christiansantori.com/blog/lets-talk-about-triangulation</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/lets-talk-about-triangulation</guid>
      <pubDate>Tue, 12 May 2026 12:00:00 GMT</pubDate>
      <category>Technical Animation</category>
      <description>Why triangulation matters more than most artists think — how it quietly affects skinning, deformation, cloth, morph targets, and exports across Maya and Unreal pipelines.</description>
    </item>

    <item>
      <title>Bake Curve Cleanup Tool for Maya</title>
      <link>https://christiansantori.com/blog/bake-curve-cleanup-tool-maya</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/bake-curve-cleanup-tool-maya</guid>
      <pubDate>Sun, 15 Feb 2026 12:00:00 GMT</pubDate>
      <category>Scripts</category>
      <description>A Maya Python tool for reducing dense, key-heavy animation curves from mocap, constraint bakes, retargets, and any per-frame animation — while protecting important contact controls.</description>
    </item>

    <item>
      <title>Why JSON Became One of My Favorite Pipeline Tools</title>
      <link>https://christiansantori.com/blog/why-json-became-one-of-my-favorite-pipeline-tools</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/why-json-became-one-of-my-favorite-pipeline-tools</guid>
      <pubDate>Tue, 05 May 2026 14:00:00 GMT</pubDate>
      <category>Maya Tools</category>
      <description>A simple way to move, compare, store, and reuse data across Maya, Unreal, and beyond — and why every technical artist should reach for JSON more often.</description>
    </item>

    <item>
      <title>What Retro Games Still Teach Modern Developers</title>
      <link>https://christiansantori.com/blog/what-retro-games-still-teach-modern-developers</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/what-retro-games-still-teach-modern-developers</guid>
      <pubDate>Tue, 05 May 2026 13:00:00 GMT</pubDate>
      <category>Game Development</category>
      <description>A reflective look at what older games still teach about clarity, pacing, identity, and respect for the player — through Mario 3, Kirby, Banjo-Kazooie, Crash, and Dark Cloud.</description>
    </item>

    <item>
      <title>Why I Still Love Making Tools in Maya</title>
      <link>https://christiansantori.com/blog/why-i-still-love-making-tools-in-maya</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/why-i-still-love-making-tools-in-maya</guid>
      <pubDate>Tue, 05 May 2026 12:00:00 GMT</pubDate>
      <category>Maya Tools</category>
      <description>A practical, first-person look at when a Maya task becomes tool-worthy — and how I scope, build, and ship small Python tools that quietly remove friction from production.</description>
    </item>

    <item>
      <title>Bring Back Couch Co-Op</title>
      <link>https://christiansantori.com/blog/bring-back-couch-co-op</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/bring-back-couch-co-op</guid>
      <pubDate>Mon, 04 May 2026 12:00:00 GMT</pubDate>
      <category>Work</category>
      <description>A personal essay on why local multiplayer, split-screen, and same-room gaming still create the most lasting memories — from a developer, husband, and dad.</description>
    </item>

    <item>
      <title>AI Doesn't Replace the Work — It Helps Me Become Better at It</title>
      <link>https://christiansantori.com/blog/ai-doesnt-replace-the-work</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/ai-doesnt-replace-the-work</guid>
      <pubDate>Fri, 01 May 2026 12:00:00 GMT</pubDate>
      <category>Work</category>
      <description>How I use ChatGPT as a multiplier for life, fatherhood, art, and game development — not a replacement for craft, taste, or doing the work.</description>
    </item>

    <item>
      <title>Face Patch Skin Staging Tool for Maya</title>
      <link>https://christiansantori.com/blog/face-patch-skin-staging-tool-maya</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/face-patch-skin-staging-tool-maya</guid>
      <pubDate>Thu, 30 Apr 2026 12:00:00 GMT</pubDate>
      <category>Scripts</category>
      <description>A Maya Python utility that turns selected clothing faces into an isolated patch mesh, with optional skin weight transfer — built for layered garment skinning and staging.</description>
    </item>

    <item>
      <title>Why I Still Love the Game Boy</title>
      <link>https://christiansantori.com/blog/why-i-still-love-the-game-boy</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/why-i-still-love-the-game-boy</guid>
      <pubDate>Thu, 30 Apr 2026 12:00:00 GMT</pubDate>
      <category>Work</category>
      <description>Nostalgia is a huge part of it. But great game design is the bigger reason. A developer's reflection on what a tiny handheld can still teach us.</description>
    </item>

    <item>
      <title>Maya Joint Chain Aim + Rename Tool</title>
      <link>https://christiansantori.com/blog/maya-joint-chain-aim-rename-tool</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/maya-joint-chain-aim-rename-tool</guid>
      <pubDate>Thu, 30 Apr 2026 12:00:00 GMT</pubDate>
      <category>Scripts</category>
      <description>A small Maya utility for quickly orienting cloth, sim, and appendage joint chains while applying clean production naming.</description>
    </item>

    <item>
      <title>Maya Safe Disconnect + Smart Reconnect</title>
      <link>https://christiansantori.com/blog/maya-safe-disconnect-smart-reconnect</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/maya-safe-disconnect-smart-reconnect</guid>
      <pubDate>Wed, 22 Apr 2026 12:00:00 GMT</pubDate>
      <category>Scripts</category>
      <description>A Maya utility for safely disconnecting and reconnecting incoming rig connections on joints, controls, and other nodes. Useful for reorientation fixes, rig cleanup, and preserving hookups while making technical changes.</description>
    </item>

    <item>
      <title>Why I Still Freelance, Even When I'm Already Busy</title>
      <link>https://christiansantori.com/blog/why-i-still-freelance</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/why-i-still-freelance</guid>
      <pubDate>Wed, 22 Apr 2026 12:00:00 GMT</pubDate>
      <category>Work</category>
      <description>Why I still take on freelance and smaller contracts even while on long-term projects—keeping range, curiosity, and craft alive alongside steady work.</description>
    </item>

    <item>
      <title>Making Technical Art Repeatable (Why I'm Sharing My Tools &amp; Scripts)</title>
      <link>https://christiansantori.com/blog/making-technical-art-repeatable</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/making-technical-art-repeatable</guid>
      <pubDate>Mon, 23 Feb 2026 12:00:00 GMT</pubDate>
      <category>Tech</category>
      <description>I'm starting a blog to share practical technical art notes, tools, and safe-to-share scripts for Maya/Unreal pipelines—focused on repeatable, buildable workflows.</description>
    </item>

    <item>
      <title>Buildable Character Files — My Preflight Checklist</title>
      <link>https://christiansantori.com/blog/buildable-character-files-preflight</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/buildable-character-files-preflight</guid>
      <pubDate>Mon, 23 Feb 2026 12:00:00 GMT</pubDate>
      <category>Tech</category>
      <description>The quick preflight checklist I run before handoff/export so rigs stay buildable, predictable, and easy for other artists to open and use.</description>
    </item>

    <item>
      <title>Joint-Based Facial Rigs for NPCs (Why I Skip Blendshapes)</title>
      <link>https://christiansantori.com/blog/joint-based-facial-rigs-for-npcs</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/joint-based-facial-rigs-for-npcs</guid>
      <pubDate>Mon, 23 Feb 2026 12:00:00 GMT</pubDate>
      <category>Tech</category>
      <description>A production-minded breakdown of why joint-based facial rigs scale better for NPC crowds, iteration, and performance than heavy blendshape workflows.</description>
    </item>

    <item>
      <title>Rig + Skin Split Workflow (Buildable Handoffs)</title>
      <link>https://christiansantori.com/blog/rig-skin-split-workflow</link>
      <guid isPermaLink="true">https://christiansantori.com/blog/rig-skin-split-workflow</guid>
      <pubDate>Mon, 23 Feb 2026 12:00:00 GMT</pubDate>
      <category>Tech</category>
      <description>How I split rig files and skin files so characters stay rebuildable, clean to version, and easy to hand off across teams.</description>
    </item>

  </channel>
</rss>
