Skip to main content

Feature · 2024

Shopify API

Project info

Role
Frontend
Team
2 devs
Duration
~2 months
Engine
Unreal
Languages
Blueprints, C++

Custom Shopify API integration built during an internship.

Shopify API

Tags

  • C++
  • UI
  • API

Overview

This project was created for Veldboom Studios to facilitate the integration of Shopify APIs into innovative 3D shopping experiences. The goal was to bridge the gap between traditional e-commerce platforms and immersive 3D environments, enabling users to interact with real Shopify products in a virtual space.

  • Real-time product data from Shopify directly inside Unreal Engine.
  • A scalable foundation for next-gen e-commerce in 3D, VR, and mobile.
  • A system that turns API calls into user-friendly, interactive features.
System overview

My Role

I joined after the core back-end functionality was built in C++. My colleague handled the raw API integration, while I focused on making the system user-friendly. I worked on optimizing logic, making the feature Blueprint-compatible, and designing an intuitive UI, so it could be used effectively by non-programmers.

Widget blueprints behind the cart, product and variant UI.

Development

The early prototype worked, but was limited to console logs and an obscure user interface. By collaborating with my colleague, I was able to bridge the system into Blueprints, allowing seamless interaction with Unreal’s Editor and UI. I also optimized parts of the workflow that were more efficient to handle in Blueprints.

Old User Interface & Output Log containing details
New User Interface | post real-time cart updates

This collaboration gave me hands-on experience with integrating C++ back-end systems into accessible gameplay features. It also taught me how to communicate across different specializations to make a feature both technically robust and designer-friendly.

Side by side comparison of actual web shop checkout vs. in-game cart realtime

Under the Hood

While this page mainly shows the user-facing system, here is a quick look at the underlying logic that connects the C++ back-end code to the Blueprint-driven UI.

The ProductActor (C++) acts as the parent class. Its Blueprint child, Child_ProductActor, makes the system more easily extendable. For example, each product instance spawns its own Product Widget, which then:

  • Checks for available variants
  • Maps them to colors using a Color Map
  • Generates a VariantBox Widget for each
  • Communicates selections back through callbacks
Blueprint snippet – Product Widget
Blueprint snippet – Variant Box Widget
Blueprint snippet – Product Actor

When a variant is selected, the callback chain notifies the parent actor: “Hey mesh, change color! Client has selected pink.”

Takeaway

The feature was delivered as a working tool with a polished interface, ready for use in production. This project showed me the importance of balancing technical depth with usability, and highlighted how teamwork between C++ and Blueprint developers can create a strong pipeline.

Disclaimer: not all visuals may fully represent the final product. The majority of visuals shown here were in-development and behind the scenes.