Skip to content
View Pablyco's full-sized avatar
💭
💼Open to work
💭
💼Open to work

Block or report Pablyco

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Pablyco/README.md

Pablo Villanueva

Gameplay Programmer · C++ · Unreal Engine 4 & 5


About

C++ Gameplay Programmer with 2+ years of professional experience shipping games in Unreal Engine 4 and 5. Generalist by nature — across my professional work I've covered GAS architecture, multiplayer networking, performance optimization, UI, and tooling depending on what the project needed.

Currently building low-level depth beyond the engine: custom memory allocators, a dynamic array with manual memory management, and a simplified ECS — driven by a genuine interest in understanding the systems underneath UE5's abstractions. I integrate AI-assisted development as a deliberate practice: using LLMs to accelerate iteration while critically reviewing and owning every line of generated code.

Targeting an entry-level role at an AA or AAA studio. Open to relocation.


Professional Experience

Scubalight Studios — Junior Gameplay Programmer (2+ years, 2021–2023)

Shipped two titles across UE4 and UE5 in a 3-person programming team.

  • Sole architect of the GAS foundation on Don't Kill Rumble: base character, attributes, ability pipeline, and ability examples from scratch
  • Led multiplayer networking foundations, establishing replication patterns used across the project
  • Promoted to lead programmer after demonstrating end-to-end project ownership
  • Inherited a shipping game (Junior Solutions) running at 25–30 FPS; profiled and optimized CPU, GPU, and RAM usage to reach a stable 60 FPS
  • Reduced Blueprint Tick calls by an estimated 80%+ through profiling, refactoring, and event-driven replacements
  • Built an in-game developer menu for runtime testing and QA tooling

Low-Level Projects

These projects exist to build understanding of systems that engines abstract away — not to reinvent them, but to reason about them clearly.

Simple-ECS A simplified Entity Component System implemented in C++. Built to understand data-oriented architecture and how component-based design works at the memory level.

Allocators Custom memory allocators in C++: linear/bump, pool, and stack. Built to understand allocation strategies, fragmentation tradeoffs, and manual memory management patterns used in game engines.

Custom-Vector A dynamic array container implemented in C++20 with manual memory management. Built to understand how contiguous storage, growth strategies, and move semantics work beneath STL abstractions.


Shipped Games

Chester the Chest

  • Decoupled reactive inventory system using Delegates, allowing multiple systems to respond to state changes without circular dependencies
  • Dynamic attribute modifier architecture to alter Character Controller parameters in real time

Through His Eyes

  • Interaction system using Constraints and Linear Drives for realistic player-controlled mechanical manipulation
  • Async Level Streaming pipeline managing memory across secondary threads to eliminate transition latency
  • Data-driven inspection pipeline using Data Assets, allowing designers to integrate objects without code changes
  • Context-aware narrative system using a priority queue and Gameplay Tags to trigger dialogue based on player state

Tech Stack

Area Tools
Language C++
Engine Unreal Engine 4 & 5
Version Control Git, Perforce
Audio FMOD
Patterns GAS, Data-Driven Design, ECS, OOP

Contact

pablofvillanueva@outlook.com linkedin.com/in/pablofvillanueva pablyco.github.io/portfolio

Pinned Loading

  1. Custom-Vector Custom-Vector Public

    A small C++20 project implementing a simple custom dynamic array container, `DynArray`, for learning and practicing manual memory management in C++.

  2. Allocators Allocators Public

    Simple C++ implementations of custom memory allocators for learning purposes, starting with a Linear/Bump Allocator and expanding with Pool and Stack allocators

    C++

  3. Simple-ECS Simple-ECS Public

    Implemented a simplify version of Entity Component System(ECS) in C++ for learning purposes.

    C++