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
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).
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.
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.