Two black tactical rifles with attachments displayed against a dark background.

Kel-Tec KSG | Real-Time Game Asset

High-fidelity modular weapon asset developed from modelling and UVs through texturing, animation and Unreal Engine implementation.

Overview

This project began as a study in high-quality weapon modelling, with a particular focus on improving my UV workflow through learning RizomUV. I developed the KSG as a modular game asset with interchangeable attachments, multiple material variants and efficient texture layouts.

I then took the asset further by rigging and animating it in Blender before implementing it in Unreal Engine. This allowed me to explore first-person controls, weapon mechanics and Blueprint scripting alongside the asset creation process.

Modeling & UVs

Kel-Tec KSG shotgun shown with a plastic lookdev material to check form and silhouette.
Kel-Tec KSG shotgun with UV checker map applied, showing texel density across the asset.

The Kel-Tec KSG was modeled in Blender with clean, game-ready topology and unwrapped in RizomUV. The workflow emphasized modularity, allowing multiple loadouts while staying efficient.

  • Base weapon and attachments built as interchangeable meshes (carry handle, foregrip, Aimpoint PRO).

  • UVs packed across multiple texture sets for consistent texel density and efficient use of space.

  • Learning RizomUV was a key project goal: I followed the official tutorials and documentation, applying what I learned to improve UV layout, texel density and packing efficiency.

  • High-to-low poly bakes completed in Marmoset Toolbag, then imported into Substance Painter for texturing.

  • Loadout polycounts:

    • Base weapon (Picatinny only): 31k tris

    • Carry handle + foregrip: 38k tris

    • Foregrip + Aimpoint PRO: 48.6k tris

    • Aimpoint PRO only: 14.5k tris

    • All assets combined: 55k tris

  • Texture sets: 2 × 4K (main weapon), 1 × 2K (foregrip + carry handle), 1 × 2K (Aimpoint PRO).

Close-up of a modern rifle with scope, targeting scope, and tactical accessories, seen from below against a dark background.
A close-up of a modern rifle with a tan and black finish, showing details of the trigger, grip, and part of the stock against a dark background.
Close-up of the front part of a firearm, showing the barrel and surrounding components.
A sniper rifle with a mounted scope, positioned against a dark background.

Texturing & Materials

The KSG and its attachments were textured in Substance Painter using a PBR workflow, with an emphasis on realism and modularity. Surfaces were built to capture the contrast between steel, polymer, and painted metal, while remaining efficient for real-time use.

  • Main weapon: 2 × 4K texture sets covering the polymer body, rails, and barrel components.

  • Accessories: 1 × 2K texture set for the foregrip and carry handle, and 1 × 2K texture set for the Aimpoint PRO optic.

  • Variants: green, tan, snow, and camo skins were authored for the main weapon, foregrip, and carry handle, extending the range of visual options.

  • Workflow: channel-packed maps (RMA: Roughness, Metalness, AO) for efficient use in real-time engines.

  • Detailing: layered smart masks and custom wear passes to emphasize edge damage, polymer wear, and subtle dirt buildup in high-touch areas.

Animation

The KSG was rigged and animated in Blender to reproduce its firing, pump-action and reload sequences. New and spent shotgun shells were also modelled and animated to support the reload and ejection sequences.

The animations were then integrated into Unreal Engine and connected to the gameplay prototype through Blueprints.

Game-ready 12-gauge shotgun shell viewed from below, showing the brass base.
Game-ready 12-gauge shotgun shell viewed from above, showing the crimped end, and showing the open crimp after firing.

Gameplay Prototype

To take the project beyond a static asset, the KSG was rigged and animated in Blender before being integrated into Unreal Engine. Using Blueprints, I developed a first-person controller and connected the weapon animations and mechanics to gameplay.

The prototype includes:

  • First-person movement: walking, jumping and crouching, with wall and ceiling detection.

  • Weapon handling: firing, pump-action, muzzle flash and shell ejection.

  • Dual-chamber reload system: tracks ammunition independently between the KSG's two shell chambers, with an animation-driven system for switching between them and loading the appropriate shell.

  • Blueprint integration: connects the weapon's animations, reload states and gameplay logic into a functional first-person prototype.

The dual-chamber system required the Blueprint logic to track which chamber was active and determine which shell should be loaded next. This pushed the project beyond asset creation into gameplay implementation, combining modelling, animation, scripting and engine integration.