Search this site
Embedded Files
Ryan Pederson
  • Home
  • Work
    • Digital Games
      • Superposition
      • SoulSync
      • Harvest Horizon
      • Frame Of Mind
      • Bubble-Berry Acres
      • Smugglers Run: Interstellar Escape
      • RPG Demo
      • Mole Mania
      • Pivot Plumber
    • Tabletop Games
      • Crypt Crawlers
      • Joust
    • Unity Tools
      • Level Tester
      • MotionCapture
    • Research
      • MultiplayerCharModel
      • DigitalTwin
    • Digital Production and Modeling
  • About
Ryan Pederson
  • Home
  • Work
    • Digital Games
      • Superposition
      • SoulSync
      • Harvest Horizon
      • Frame Of Mind
      • Bubble-Berry Acres
      • Smugglers Run: Interstellar Escape
      • RPG Demo
      • Mole Mania
      • Pivot Plumber
    • Tabletop Games
      • Crypt Crawlers
      • Joust
    • Unity Tools
      • Level Tester
      • MotionCapture
    • Research
      • MultiplayerCharModel
      • DigitalTwin
    • Digital Production and Modeling
  • About
  • More
    • Home
    • Work
      • Digital Games
        • Superposition
        • SoulSync
        • Harvest Horizon
        • Frame Of Mind
        • Bubble-Berry Acres
        • Smugglers Run: Interstellar Escape
        • RPG Demo
        • Mole Mania
        • Pivot Plumber
      • Tabletop Games
        • Crypt Crawlers
        • Joust
      • Unity Tools
        • Level Tester
        • MotionCapture
      • Research
        • MultiplayerCharModel
        • DigitalTwin
      • Digital Production and Modeling
    • About

Custom Character Multiplayer

Runtime Asset Ingestion, Dynamic Rigging, Asynchronous Networking, & Animation Retargeting

Engine

Unity 3D

Role

Tool & Systems Developer

Core Purpose

Runtime Asset Ingestion, Dynamic Rigging, Asynchronous Networking, & Animation Retargeting

Project Overview

This research project demonstrates a zero-setup, runtime asset ingestion pipeline for multiplayer games in Unity. It allows players to select custom character models (.fbx) from a server database or upload their own via an in-game file browser—without requiring pre-baking or Unity Editor setup.

When a player joins a match with a model that other clients do not possess, the network architecture asynchronously downloads, processes, rigs, and applies animation retargeting to the new character in real time. To prevent gameplay hitches or invisible entities during network sync and runtime instantiation, a lightweight placeholder loading skin renders temporarily and swaps seamlessly once the custom model is rigged and animated.

Key Features & Technical Highlights

Zero-Editor Ingestion: Bypasses traditional Unity Prefab compilation by parsing and instantiating raw mesh and texture data directly during runtime.

Asynchronous Multi-Threaded Pipeline: Offloads file downloading, texture decoding, and mesh processing from the main thread to prevent frame drops and keep gameplay smooth.

Fallback & Dynamic Swap System: Instantiates a low-overhead placeholder skin immediately upon player spawn, which seamlessly hot-swaps to the fully rigged custom avatar once processing finishes.

On-the-Fly Material & Shader Conversion: Automates texture mapping and assigns network-ready shaders to raw .fbx materials upon import.

Dynamic Humanoid Rigging & Retargeting: Generates dynamic Unity Avatar references at runtime, binding generic Mecanim animation controllers to non-standard user models.

Client-Server Storage Sync: Features runtime file uploads to a central server and automated background asset fetching for remote clients.

Pipeline Breakdown

  1. Asset Selection & Ingestion: Players browse a cloud database or choose a local .fbx asset through an integrated runtime file browser.

  2. Network Propagation: The client uploads the target file to the server. Surrounding clients receive a network payload containing the model's server reference key.

  3. Placeholder Spawning: As remote clients request the asset, the engine immediately spawns a lightweight loading avatar to maintain real-time position sync.

  4. Asynchronous Build Phase:

    1. Download & Parse: Streams the raw asset package off-thread.

    2. Rigging: Reconstructs bone hierarchies and binds mesh skin weights dynamically.

    3. Retargeting: Creates a Unity Humanoid Avatar on the fly and binds the active animator controller.

  5. Runtime Hot-Swap: Replaces the placeholder mesh with the processed model, matching current local transform states and playing animation clips without interruption.

Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse