<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Uhiyama Lab - Tech Notes]]></title><description><![CDATA[Tech notes updates]]></description><link>https://uhiyama-lab.com</link><generator>GatsbyJS</generator><lastBuildDate>Sat, 04 Apr 2026 09:15:33 GMT</lastBuildDate><atom:link href="https://uhiyama-lab.com/feed/notes-en.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><item><title><![CDATA[Building Adaptive Music in Godot with AudioStreamInteractive]]></title><description><![CDATA[Learn how to implement a dynamic music system that responds to gameplay using AudioStreamInteractive and AudioStreamSynchronized.]]></description><link>https://uhiyama-lab.com/en/notes/godot/adaptive-music-system/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/godot/adaptive-music-system/</guid><category><![CDATA[AudioStreamInteractive]]></category><category><![CDATA[Adaptive Music]]></category><category><![CDATA[Dynamic Music]]></category><category><![CDATA[AudioStreamSynchronized]]></category><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[3D Audio and Spatial Sound in Godot (Complete AudioStreamPlayer3D Guide)]]></title><description><![CDATA[Implement 3D spatial audio using AudioStreamPlayer3D and AudioListener3D. Covers attenuation models, Doppler effect, and area-based reverb zones.]]></description><link>https://uhiyama-lab.com/en/notes/godot/3d-audio-spatial-sound/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/godot/3d-audio-spatial-sound/</guid><category><![CDATA[AudioStreamPlayer3D]]></category><category><![CDATA[AudioListener3D]]></category><category><![CDATA[Spatial Audio]]></category><category><![CDATA[3D Audio]]></category><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[3D Skeletal Animation in Godot: AnimationPlayer and AnimationTree]]></title><description><![CDATA[Learn how to play 3D character animations with AnimationPlayer, manage states and blending with AnimationTree, and adjust poses dynamically with SkeletonIK3D in Godot 4.]]></description><link>https://uhiyama-lab.com/en/notes/godot/3d-skeletal-animation/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/godot/3d-skeletal-animation/</guid><category><![CDATA[AnimationPlayer]]></category><category><![CDATA[Skeleton3D]]></category><category><![CDATA[AnimationTree]]></category><category><![CDATA[3D Animation]]></category><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Sound Design with Godot's AudioBus Effects (Reverb, Compressor, EQ)]]></title><description><![CDATA[Apply reverb, compressor, EQ, chorus, and other effects to AudioBuses to craft immersive audio environments for your game.]]></description><link>https://uhiyama-lab.com/en/notes/godot/audio-effects-sound-design/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/godot/audio-effects-sound-design/</guid><category><![CDATA[AudioBus]]></category><category><![CDATA[Reverb]]></category><category><![CDATA[Compressor]]></category><category><![CDATA[Sound Design]]></category><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Implementing Behavior Trees for AI Design in GDScript]]></title><description><![CDATA[How to implement flexible AI design using behavior trees (BT) in Godot. From node type explanations to a practical enemy AI example, learn how to build reusable AI structures.]]></description><link>https://uhiyama-lab.com/en/notes/godot/behavior-tree-ai-design/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/godot/behavior-tree-ai-design/</guid><category><![CDATA[Behavior Tree]]></category><category><![CDATA[AI]]></category><category><![CDATA[Game AI]]></category><category><![CDATA[GDScript]]></category><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Extending the Godot Editor with EditorPlugin (@tool, Custom Docks, Inspector)]]></title><description><![CDATA[Learn how to extend the Godot editor using the @tool annotation and EditorPlugin class to add custom docks, toolbar buttons, and inspector plugins. Covers plugin.cfg setup to best practices.]]></description><link>https://uhiyama-lab.com/en/notes/godot/editor-plugin-workflow/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/godot/editor-plugin-workflow/</guid><category><![CDATA[EditorPlugin]]></category><category><![CDATA[@tool]]></category><category><![CDATA[Editor Extension]]></category><category><![CDATA[Plugin]]></category><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Creating Custom Nodes and Editor Extensions (class_name, @icon, @export)]]></title><description><![CDATA[Define custom node types with class_name, improve editor usability with @icon and @export, and extend the inspector with custom Resources and EditorInspectorPlugin.]]></description><link>https://uhiyama-lab.com/en/notes/godot/custom-node-editor-extension/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/godot/custom-node-editor-extension/</guid><category><![CDATA[Custom Node]]></category><category><![CDATA[class_name]]></category><category><![CDATA[@icon]]></category><category><![CDATA[Editor Extension]]></category><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Dynamic Loading and Resource Management in Godot (load, preload, Background Loading)]]></title><description><![CDATA[Learn how to choose between load() and preload(), implement background loading with ResourceLoader, build loading screens, and apply memory management best practices.]]></description><link>https://uhiyama-lab.com/en/notes/godot/dynamic-loading-resource-management/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/godot/dynamic-loading-resource-management/</guid><category><![CDATA[ResourceLoader]]></category><category><![CDATA[Dynamic Loading]]></category><category><![CDATA[Memory Management]]></category><category><![CDATA[Async Loading]]></category><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Stealth Game FOV System: Area3D + RayCast3D Implementation]]></title><description><![CDATA[Build a stealth-game FOV (field of view) system using Area3D for detection range, dot product for angle checks, and RayCast3D for line-of-sight verification. Covers multi-raycast precision and graduated alert levels.]]></description><link>https://uhiyama-lab.com/en/notes/godot/stealth-fov-system/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/godot/stealth-fov-system/</guid><category><![CDATA[Stealth]]></category><category><![CDATA[Vision System]]></category><category><![CDATA[FOV]]></category><category><![CDATA[RayCast3D]]></category><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[OOP Design Patterns in GDScript (Composition, Decorator, Factory)]]></title><description><![CDATA[How to implement three commonly used design patterns in Godot: Composition, Decorator, and Factory. Practical GDScript examples for building flexible, reusable, and extensible designs without relying on deep inheritance.]]></description><link>https://uhiyama-lab.com/en/notes/godot/oop-design-patterns/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/godot/oop-design-patterns/</guid><category><![CDATA[Design Patterns]]></category><category><![CDATA[Composition]]></category><category><![CDATA[Factory]]></category><category><![CDATA[OOP]]></category><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Implementing Unit Tests in Godot with GUT]]></title><description><![CDATA[Learn how to implement automated tests using the Godot Unit Test (GUT) addon. Covers writing tests, assertions, signal testing, and scene testing.]]></description><link>https://uhiyama-lab.com/en/notes/godot/gut-unit-testing/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/godot/gut-unit-testing/</guid><category><![CDATA[GUT]]></category><category><![CDATA[Unit Testing]]></category><category><![CDATA[Testing]]></category><category><![CDATA[TDD]]></category><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Implementing Localization with TranslationServer]]></title><description><![CDATA[Learn how to use Godot's TranslationServer for localization. Covers creating CSV translation files, dynamic language switching, and using placeholders.]]></description><link>https://uhiyama-lab.com/en/notes/godot/translation-server-i18n/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/godot/translation-server-i18n/</guid><category><![CDATA[TranslationServer]]></category><category><![CDATA[Localization]]></category><category><![CDATA[i18n]]></category><category><![CDATA[Internationalization]]></category><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Understanding Game Framework: Roles of GameMode, GameState, and PlayerState]]></title><description><![CDATA[Compare the three core classes of UE's Game Framework — GameMode, GameState, and PlayerState. Learn their roles, multiplayer information flow, and C++ implementation skeletons.]]></description><link>https://uhiyama-lab.com/en/notes/ue/game-framework-gamemode-gamestate-playerstate/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/ue/game-framework-gamemode-gamestate-playerstate/</guid><category><![CDATA[GameMode]]></category><category><![CDATA[GameState]]></category><category><![CDATA[PlayerState]]></category><category><![CDATA[Multiplayer]]></category><pubDate>Sat, 07 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Introduction to Nanite: Virtualized Geometry for High-Poly Meshes in Real Time]]></title><description><![CDATA[Learn the fundamentals of UE5's Nanite — enabling methods, mesh criteria, limitations, and performance monitoring with stat Nanite and visualization modes.]]></description><link>https://uhiyama-lab.com/en/notes/ue/nanite-high-poly-mesh-optimization/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/ue/nanite-high-poly-mesh-optimization/</guid><category><![CDATA[Nanite]]></category><category><![CDATA[Rendering]]></category><category><![CDATA[Optimization]]></category><category><![CDATA[Mesh]]></category><pubDate>Sat, 07 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Implementing a Save/Load System with the SaveGame Class]]></title><description><![CDATA[Learn how to implement a save/load system using UE's SaveGame class. Covers synchronous/asynchronous saving, slot management, and C++ and Blueprint code examples.]]></description><link>https://uhiyama-lab.com/en/notes/ue/save-load-system-implementation/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/ue/save-load-system-implementation/</guid><category><![CDATA[SaveGame]]></category><category><![CDATA[Save/Load]]></category><category><![CDATA[C++]]></category><category><![CDATA[Blueprint]]></category><pubDate>Sat, 07 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Building Flexible Game Systems with Gameplay Tags]]></title><description><![CDATA[Learn how to use UE's Gameplay Tags for hierarchical tag-based design patterns. Replace brittle Bool/Enum state management with Tag Containers and Tag Queries for scalable game logic.]]></description><link>https://uhiyama-lab.com/en/notes/ue/gameplay-tags-flexible-design-patterns/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/ue/gameplay-tags-flexible-design-patterns/</guid><category><![CDATA[Gameplay Tags]]></category><category><![CDATA[C++]]></category><category><![CDATA[Design Patterns]]></category><category><![CDATA[Blueprint]]></category><pubDate>Sat, 07 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Choosing the Right Subsystem: GameInstance / World / LocalPlayer Scopes]]></title><description><![CDATA[Learn how to modularize features without singletons using UE's Subsystem framework. Compare GameInstance, World, and LocalPlayer subsystems with C++ implementation examples and Blueprint access.]]></description><link>https://uhiyama-lab.com/en/notes/ue/subsystem-gameinstance-world-localplayer/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/ue/subsystem-gameinstance-world-localplayer/</guid><category><![CDATA[Subsystem]]></category><category><![CDATA[C++]]></category><category><![CDATA[Architecture]]></category><category><![CDATA[Blueprint]]></category><pubDate>Sat, 07 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Getting Started with Unity Addressables: Dramatically Improve Asset Management and Memory Efficiency]]></title><description><![CDATA[Learn how to use Unity's official asset management system, Addressables. Automate complex AssetBundle management to easily reduce build sizes and deliver downloadable content.]]></description><link>https://uhiyama-lab.com/en/notes/unity/unity-addressables-guide/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/unity/unity-addressables-guide/</guid><category><![CDATA[Addressables]]></category><category><![CDATA[AssetBundle]]></category><category><![CDATA[Memory Management]]></category><category><![CDATA[Asset Management]]></category><pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Unity Attribute Guide: Metadata Markers That Give Your Code Special Behaviors]]></title><description><![CDATA[Learn how to customize Unity's Inspector using C# Attributes. Covers practical usage of SerializeField, Header, Range, RequireComponent, and more.]]></description><link>https://uhiyama-lab.com/en/notes/unity/unity-attribute-guide/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/unity/unity-attribute-guide/</guid><category><![CDATA[Attribute]]></category><category><![CDATA[Inspector]]></category><category><![CDATA[C#]]></category><category><![CDATA[Editor Extension]]></category><pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Getting Started with Unity Animator Controller: Mastering Animation State Control]]></title><description><![CDATA[Learn how to manage character animations with Unity's Animator Controller. Covers State Machine, Transitions, Parameters, and Blend Trees in detail.]]></description><link>https://uhiyama-lab.com/en/notes/unity/unity-animator-controller-guide/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/unity/unity-animator-controller-guide/</guid><category><![CDATA[Animator]]></category><category><![CDATA[Animation]]></category><category><![CDATA[State Machine]]></category><category><![CDATA[Blend Tree]]></category><pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Getting Started with Unity Editor Extensions: Building Tools to Boost Development Efficiency]]></title><description><![CDATA[Learn how to extend Unity Editor functionality to improve development efficiency. Covers MenuItem, EditorWindow, CustomEditor, PropertyDrawer, and more with practical code examples.]]></description><link>https://uhiyama-lab.com/en/notes/unity/unity-editor-extension-guide/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/unity/unity-editor-extension-guide/</guid><category><![CDATA[Editor Extension]]></category><category><![CDATA[MenuItem]]></category><category><![CDATA[EditorWindow]]></category><category><![CDATA[CustomEditor]]></category><category><![CDATA[PropertyDrawer]]></category><pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Getting Started with Unity Cinemachine: Cinematic Camera Work Without Scripting]]></title><description><![CDATA[Learn how to use Cinemachine, Unity's official camera control package. Achieve high-quality camera work including Virtual Cameras, camera shake, and obstacle avoidance without writing any scripts.]]></description><link>https://uhiyama-lab.com/en/notes/unity/unity-cinemachine-guide/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/unity/unity-cinemachine-guide/</guid><category><![CDATA[Cinemachine]]></category><category><![CDATA[Camera]]></category><category><![CDATA[Cinematics]]></category><category><![CDATA[Timeline]]></category><pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Getting Started with Unity Localization: Multi-Language Support for Global Game Distribution]]></title><description><![CDATA[Learn how to implement multi-language support using Unity's official Localization package. Covers text, image, and audio localization, as well as dynamic text with Smart Strings.]]></description><link>https://uhiyama-lab.com/en/notes/unity/unity-localization-guide/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/unity/unity-localization-guide/</guid><category><![CDATA[Localization]]></category><category><![CDATA[Multi-Language]]></category><category><![CDATA[Global Distribution]]></category><category><![CDATA[Text Management]]></category><pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Getting Started with Unity Gizmos: Visualizing Debug Information in the Scene View]]></title><description><![CDATA[Learn how to visualize debug information in the Scene View using Unity Gizmos. Display empty GameObjects, trigger zones, AI detection ranges, and more.]]></description><link>https://uhiyama-lab.com/en/notes/unity/unity-gizmos-guide/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/unity/unity-gizmos-guide/</guid><category><![CDATA[Gizmos]]></category><category><![CDATA[Debugging]]></category><category><![CDATA[Scene View]]></category><category><![CDATA[Visualization]]></category><pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Getting Started with Unity's New Input System: Accelerate Development with Next-Gen Input Handling]]></title><description><![CDATA[Learn how to use Unity's New Input System. Implement cross-platform input handling using Input Actions, Bindings, and the Player Input component.]]></description><link>https://uhiyama-lab.com/en/notes/unity/unity-new-input-system-guide/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/unity/unity-new-input-system-guide/</guid><category><![CDATA[Input System]]></category><category><![CDATA[Input Handling]]></category><category><![CDATA[Cross-Platform]]></category><category><![CDATA[Gamepad]]></category><pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Getting Started with Unity Terrain: Efficiently Building Vast Natural Environments]]></title><description><![CDATA[Learn how to create vast natural environments using Unity's Terrain system. Covers terrain sculpting, texture painting, tree and grass placement, and performance optimization.]]></description><link>https://uhiyama-lab.com/en/notes/unity/unity-terrain-guide/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/unity/unity-terrain-guide/</guid><category><![CDATA[Terrain]]></category><category><![CDATA[Landscape]]></category><category><![CDATA[Open World]]></category><category><![CDATA[Natural Environment]]></category><pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Unity Render Pipelines: Understanding the Differences Between Built-in, URP, and HDRP]]></title><description><![CDATA[Learn the differences and how to choose between Unity's three render pipelines (Built-in, URP, HDRP). Covers performance comparison, feature comparison, and how to select the best pipeline for your project.]]></description><link>https://uhiyama-lab.com/en/notes/unity/unity-render-pipeline-guide/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/unity/unity-render-pipeline-guide/</guid><category><![CDATA[Render Pipeline]]></category><category><![CDATA[URP]]></category><category><![CDATA[HDRP]]></category><category><![CDATA[Built-in RP]]></category><category><![CDATA[SRP]]></category><pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Getting Started with Unity Post Processing: Enhancing Visual Quality with Screen Effects]]></title><description><![CDATA[Learn how to use Unity's post processing. Covers setup instructions for major effects such as Bloom, Color Grading, and Depth of Field, along with implementation guides for both Built-in RP and URP.]]></description><link>https://uhiyama-lab.com/en/notes/unity/unity-post-processing-guide/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/unity/unity-post-processing-guide/</guid><category><![CDATA[Post Processing]]></category><category><![CDATA[Bloom]]></category><category><![CDATA[URP]]></category><category><![CDATA[Post Processing]]></category><pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Getting Started with Unity Shader Graph: Creating Shaders Without Programming]]></title><description><![CDATA[Learn how to create shaders without programming using Unity's Shader Graph. Build custom materials intuitively with a node-based visual editor.]]></description><link>https://uhiyama-lab.com/en/notes/unity/unity-shader-graph-guide/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/unity/unity-shader-graph-guide/</guid><category><![CDATA[Shader Graph]]></category><category><![CDATA[Shader]]></category><category><![CDATA[URP]]></category><category><![CDATA[Material]]></category><pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate></item><item><title><![CDATA[Getting Started with Unity Test Framework: Preventing Bugs with Automated Testing]]></title><description><![CDATA[Learn how to write automated tests with Unity's official Test Framework. Covers Edit Mode and Play Mode tests, assertions, setup/teardown, and practical best practices.]]></description><link>https://uhiyama-lab.com/en/notes/unity/unity-test-framework-guide/</link><guid isPermaLink="false">https://uhiyama-lab.com/en/notes/unity/unity-test-framework-guide/</guid><category><![CDATA[Testing]]></category><category><![CDATA[NUnit]]></category><category><![CDATA[Quality Assurance]]></category><category><![CDATA[Automated Testing]]></category><pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate></item></channel></rss>