Skip to content
COG Factory

Generation 2 / Mod

four20ip Skin Pack

Inside the mod

Six converted characters at standard Jedi Knight height, rendered in Blender.

The challenge

Can six Studio Avatars become height-matched, stock-animated Jedi Knight multiplayer skins?

Can six Studio Avatars become height-matched, stock-animated Jedi Knight multiplayer skins?

Research notes

October 14, 2026 update: custom character sounds

The pack's six main characters now have their own reactions from Shmotime: pain, jump grunts, falling, hard landings, death, drowning and recovery breaths. HK-47 also has mechanical effects. These sounds use Jedi Knight's existing character sound events, preserving the skin pack's normal weapons and gameplay.

Build 8 packages the sounds as compact mono WAVs. Players upgrading an existing multiplayer character should enable the new pack, edit the character, switch to another skin and back, then save and start a fresh match. Jedi Knight stores the character's voice separately from its model; replacing the pack alone does not update that saved choice. Characters already updated for Build 7 need no further reselection.

Build 9 brings in Shmotime's revised takes: Sith's second drowning sputter is now under a second, and every character's death underwater has been remade. Seven sound files change; their names and the character sound sets stay the same, so characters already updated for Build 7 or 8 need no reselection.

The conversion

Sith, Pux, Jenny named Jezz, Gnarl, AOC and HK-47 share the stock player height. Dense source meshes are simplified before splitting at joint boundaries. Overflow pieces inherit their body joint and avoid stock weapon node 18. Each mesh stays within Jedi Knight's vertex, UV and face budgets. The pack contains six models, ten textures and the selection lists.

Six converted characters at standard Jedi Knight height, rendered in Blender.
Six converted characters at standard Jedi Knight height, rendered in Blender.

What Blender taught us

Blender MCP worked for inspection, importing and review. Background Blender prepared the six GLBs in roughly three seconds; cached Python conversion made subsequent builds independent of the interactive session. HK-47 required evaluated pose-bone positions rather than rest-bone positions. The installed blender-sith imported all six converted models, but its tested export round trip changed mesh ordering and pivot representation, so final files come from the direct converter.

Engine evidence

The harness exercised standing, walking, running, firing, death, jumping and saber animations on all six skins. Frozen controls distinguish animation from background motion. A second test loaded only the packed skin resources alongside stock Canyon Oasis and verified native character updates on both peers. These checks do not certify original Jedi Knight; rigid joint seams and weapon grips still need the owner's visual playtest.

All six skins running stock player animations in the engine.
All six skins running stock player animations in the engine.

Accepted joint treatment

The owner approved Gnarl's 29 closed cut loops and requested the same treatment for every avatar. All six now use intersecting extensions with tapered sides and chamfered end caps. Seam welding before reduction keeps cuts continuous; where a cut meets an open clothing or armor edge, the converter follows the complete rim. Small disconnected hair sheets stay attached to the head.

The technique is now the default in the gen2 agent instructions, with a reproducible porting recipe in the project README. Refinements remain possible. All six rigs are checked over 3,450 sampled frames from 91 stock KY clips, and both formerly problematic idles plus falling and saber drawing also run in-engine. The former node-18 chest collision remains a negative control.

Six converted characters at standard Jedi Knight height, rendered in Blender.
Six converted characters at standard Jedi Knight height, rendered in Blender.
All six skins with capped joint extensions in stock saber and gun idle poses.
All six skins with capped joint extensions in stock saber and gun idle poses.
New closed extensions highlighted in gold; arm sections separated only for inspection.
New closed extensions highlighted in gold; arm sections separated only for inspection.

Character reactions without gameplay scripts

Shmotime supplied 146 masters for Sith, Pux, Jezz, Gnarl, AOC and HK-47. The build produces six SNDs and 168 mono PCM WAVs: graded pain, jump exertion mixed with surface foley, falling, hard landings, death, water distress and recovery. HK-47 adds mechanical layers to his own voice. No selection, respawn or kill-banter triggers are introduced.

An SND/WAV-only trial filled Canyon Oasis's sound pool at the second character. The final resource preload changes only the stock sound and sound-class capacities and appends six SND registrations, preserving every other stock byte and the original sound IDs. A three-peer packed test includes a client without the mod. Separate audio checks measure actual engine output against background controls; original JK and human listening still need the owner.

Back to Research

What this build taught us

Build 9 carries Shmotime's custom character sounds for Sith, Pux, Jezz, Gnarl, AOC and HK-47, now with Shmotime's revised takes: a shorter drowning sputter for Sith and remade underwater deaths for all six. The pack uses stock player sound events with no added gameplay COGs. Mono 11,025 Hz, 16-bit WAVs keep the audio to 4.23 MB while preserving pitch and duration. All 108 automated playback checks pass. Re-saving an older Gnarl character corrected its voice in retail Jedi Knight; broader retail multiplayer testing and listening to the reduced-bandwidth audio remain pending.

Get this build

  1. Follow the instructions included with the download.

How to play

Enable f20ipskins.gob in your mod launcher, then create or edit a multiplayer character and select a new skin.

Release notes

Install the GOB in mods/ and enable it on the host. Clients can join without it and see Kyle with stock fallback sounds; installed clients see and hear the custom characters.

Use one character-selection skin pack at a time. Team modes can substitute their team skins.

16-bit textures require 3D acceleration. Automated OpenJKDF2 checks passed; Gnarl's updated voice was confirmed in retail Jedi Knight. Broader retail multiplayer and reduced-bandwidth audio listening checks remain pending.

When upgrading an older character, select another skin and back, save, and start a fresh match to update its saved voice. Characters already updated for Build 7 or later need no further reselection.

This audio build includes a sound-only static resource preload. Other mods replacing static.jkl or models.dat need explicit compatibility; no gameplay COGs are added.

Credits

Characters and textures: Studio Avatar Pack / FPSGame Avatar Pack, including source attribution to Pux & Jezz.

Jenny appears under the requested Jezz name.

Jedi Knight and HK-47 belong to their respective rights holders. This modification is not made, endorsed or supported by LucasArts.

Character reactions and HK-47 mechanical effects: Shmotime studio SFX factory, generated with ElevenLabs and finished by Shmotime; Jezz uses Alt Jezz.