TARC Solutions

TARC Solutions At TARC Solutions, we’re building experiences that inspire, engage, and transform.

Whether you’re looking to create a game, develop an AR/VR solution, or integrate AI into your business, we’re here to help you bring your vision to life.

07/03/2026

A Unity WebGL build I received was 1.2 GB.

The project itself was not complex.

It was an interactive survey experience for breast cancer awareness.
The problem was how the content was delivered.

The application contained dozens of decision-based videos stored directly inside the Unity project.

Every user path triggered different video files, which caused the WebGL build to explode in size.

This created three problems:
1. Very slow loading times
2. High hosting costs
3. Poor user experience for survey participants

Instead of compressing everything inside Unity, I redesigned the delivery architecture.

What I changed
• Removed video assets from the Unity build
• Moved video delivery to Cloudflare R2 CDN
• Replaced local references with dynamic URLs
• Added fallback logic for failed video loading
• Built a lightweight Google Apps Script + Sheets logging system

Result
Build size reduced from 1.2 GB → 68 MB
Sometimes performance problems are not about optimization inside the engine.

They are about architecture decisions around the engine.

Full breakdown:
https://tinyurl.com/4ashc2zx

23/12/2025

When work is uncertain, “experiment more” sounds like the obvious answer.

But not all experiments reduce uncertainty.

Some just keep you busy.

Learning to tell the difference has been harder than expected.

15/12/2025

A Sufi story:
Three blind men touched an elephant.

One felt the ear → “a carpet.”
One felt the trunk → “a pipe.”
One touched the leg → “a pillar.”

Each touched only one part…
and believed he knew the whole truth.

That’s how most companies build systems.
Everyone sees their own piece.
No one sees the whole.

Systems fail when we design from parts.
They succeed when we design from interconnections.

See the elephant.
Not just the ear.

Comment SYSTEMS if you want a simple explanation of system archetypes.

09/11/2025

Prototype slice of my Unity horror demo
🔦
Flashlight + fuse box + power-on sequence.
Full polished clip coming soon.

09/11/2025

Prototype slice of our Unity horror demo
Flashlight + fuse box + power-on sequence.
Full polished clip coming soon.

03/11/2025

We Build Gameplay MVPs. Fast.

From combat systems and multiplayer prototypes to AR/VR mechanics and Web3 gameplay — our team brings ideas to life in days, not months.

Whether you’re a studio, startup, or solo creator, we help you move from concept → playable prototype → production-ready system with Unity, WebGL, and full-stack expertise.

Let’s build your next hit together.

www.tarcsolutions.co

02/11/2025

We build gameplay MVPs fast!
Combat systems, multiplayer prototypes, AR/VR mechanics & Web3 gameplay — all built in days, not months.

🎮 | 🔗 tarcsolutions.co

Working on the client projects
31/01/2025

Working on the client projects

This is from one of our work in progress project 😀.
29/01/2025

This is from one of our work in progress project 😀.

Address

Lahore
54760

Alerts

Be the first to know and let us send you an email when TARC Solutions posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.

Share

Category

//iconSize: [32, 32], //html: '' }) .bindTooltip(name, { //permanent: true, direction: 'bottom', //offset: L.point(12, 25), //opacity: 0.88, interactive: true }) .bindPopup(name); markersLayer.addLayer(marker); } function getMore() { if (gettingMore) { return; } gettingMore = true; var center = map.getCenter(); $.ajax({ url: "/vicinitysearch", data: { lat: center.lat, lng: center.lng, country: "PAKISTAN" } }) .done(function(data) { var added = 0; data.forEach(function(loc) { if (!locationIds.includes(loc.id)) { var mapLoc = {id:loc.id,lat:loc.latitude,lng:loc.longitude,title:trunc20(loc.name),popupHtml:loc.popupHtml,urlPath:loc.urlPath,pictureUrl:loc.pictureUrl}; locations.push(mapLoc); locationIds.push(loc.id); map._addMarker(mapLoc); added++; } }); }) .always(function() { gettingMore = false; }); } map._clearMarkers = function() { markersLayer.clearLayers(); } }); }, 4000); });