Menu

Tbilisi · GMT+4

Open for freelance · from $25/h

Unity Developer & Technical Artist

Aleksandr Kartak

In game development since 2021 — gameplay programming and systems architecture fused with technical art: custom shaders, VFX and rendering optimization in URP & HDRP.

Unity Developer & Technical Artist — in game development since 2021.

Open for freelance · shaders, rendering, optimization · from $25/h Aura Farming · Live on Steam · 150+ reviews · Mostly Positive (opens in new tab)

Telegram @MATb_CONTROL (opens in new tab) or emailor email kartakcvc@gmail.com

  • Unity
  • C#
  • HLSL
  • Shader Graph
  • VFX
  • URP / HDRP
  • Editor Tools

Projects

Aura Farming live on Steam · Reday-1 · jam games · more on request

Menu
Aura Farming — anime scene and idle UILive on Steam

Aura Farming

  • Unity
  • VFX
  • Steam

Results

Reviews
150+
Rating
Mostly Positive
On Steam since
Jun 2026

Idle game, live on Steam since June 2026 under the studio's Fropy Studio label: 150+ reviews, Mostly Positive.

My part: ability VFX and character auras, UI and scene integration, post-processing setup and rendering optimization.

Built at Elven Empire · published under the studio's Fropy Studio label

REday-1 — Steam store coverUnreleased · Steam page

Reday-1

  • Unity
  • Systems
  • Editor Tools
Team
6
Core systems
10+

Data-driven quest system, NPC navigation, save / load and custom editor tooling. Architected 10+ core systems while leading a team of 6.

Founder & Lead Game Developer, Homo-Ludens

Game jams

Dielevator! — pixel-art platformer: the player on a platform between two industrial shafts, a generator belowPlayable · itch.io

Dielevator!

  • Game jam
  • Programmer
  • HTML5

Browser platformer with tower-defence elements: stay on the platform and keep the generator alive. Built by a team of four in 72 hours for Indie Varvar's Jam #5 (Sep 2023).

Jam result: #6 of 63 entries in Graphics.

Programmer · credited on itch.io as ALEPACHO

The Path of the Victim — pixel-art night scene under a full moon: a girl faces a masked hooded figure, dialogue box belowHalloween Game Jam 2023

The Path of the Victim

  • Game jam
  • Programmer
  • 2D

2D pixel-art horror story with dialogue scenes, made for Halloween Game Jam 2023.

Programmer

Solo · 12 h

Game jams

More jam prototypes

  • Game Jams
  • Prototyping
  • Solo

More playable jam demos — including a full prototype designed and built solo within 12 hours.

Selection on request

Studio & freelance

Apothecary's Dungeon — custom GPU-instanced grass and vegetationIn development

Apothecary's Dungeon

  • Unity
  • URP
  • HLSL

Stylized top-down RPG, in development. Custom grass rendering system — GPU instancing (DrawMeshInstancedIndirect), chunked loading, wind vertex animation — plus URP water & vegetation shaders and custom lighting.

Cyber Abyss mobile UI: tower hub with credits, a Dive In button and Main, Deck, Talents, Case, Shop and Market tabsCommercial

Cyber Abyss

  • Unity
  • Client-Server
  • Live

Client-server architecture, progression and microtransaction systems for an online deck-builder auto-battler, designed to extend cleanly with new online features.

Showreel

NITRATE · Infinite Garden · gameplay & VFX reel

Menu
NITRATE — shadow-map light shafts, layer by layer
Infinite Garden — endless world, SDF outlines
Showreel — gameplay & real-time VFX
Tech-art demo — scenes & transitions

Tech art

How it's built: REMNANT · NITRATE · Infinite Garden · WindCore.hlsl · URP shaders · this page's background

Menu
Breakdown 4 views
Four views of the same shot, left to right: the final frame, the distance field the sky shader evaluates, the heat field, and the same sky a little later in the loop with the monster switched off

// Unity 6 URP · skybox shader · signed distance fields · real time

REMNANT: a monster drawn by the skybox shader

An 8 s loop from a real-time showcase scene: a knight in a rainy gothic town fires a beam at a monster that fills the sky. The monster has no mesh. The URP skybox shader draws it as a 2D signed distance field in the camera's view plane. The bone cage, the claws, the eclipse eye and the shaggy mass are all distance functions, so it adds no triangles of its own and stays sharp at any size. One temperature field crawls along the bones and takes its color from a blackbody ramp. Where it fades, the bones cool into crust and cracks. A fullscreen ink pass reads the monster's mask to draw the beams, the cut through its arm and the impact frames. Every motion is a closed-form function of time, so the loop has no seam.

  • Skybox shader
  • 2D SDF
  • Temperature field
  • Blackbody ramp
  • Fullscreen ink pass
  • Closed-form loop

570+ upvotes and about 48K views on r/Unity3D, Oct 2026

Knight, cathedral and town: CC models by other artists. Monster and shaders: mine. Models: BSP Colossal Gothic Cathedral by NeoKg (CC BY-SA 4.0); The Forgotten Knight by dark_igorek; Medieval house h2 by Annielighta; Medieval house (Generic Textures) by by__Rx; Medieval Houses (3 Pack) by Ajay Gawde; Medieval wooden cart by rakutin (all CC BY 4.0, Sketchfab); Gothic-Like Structures by loafbrr (CC0); Poly Haven (CC0). Moon maps: NASA's Scientific Visualization Studio. Sound: Sonniss GDC Game Audio Bundle recordings; BigSoundBank (CC0); OpenGameArt, Ylmir and WuxiaScrub (CC0).

// Unity 6 URP · Render Graph · Shader Graph · open source

NITRATE: real light shafts through windmill sails

A seamless 15 s silhouette loop. The light shafts are raymarched through the moon's shadow map at quarter resolution, so the turning sails cut the moonlight on every frame. All geometry is generated by code, one black Shader Graph material carries the wind through every pass, shadows included, and a custom Render Graph pipeline adds fog, a depth-blur ladder and a film print.

NitrateAtmosphere.shader
// blue-noise start offset, re-rolled 24 times a second
float t = tStart + stepLength * BlueNoise(p, _NitrateFilmFrame);
for (int i = 0; i < steps; i++)
{
    float3 position = ray.origin + ray.dir * t;
    float h = position.y - _NitrateBoxMin.y;
    float density = exp(-h / _BeamHeightFalloff);
    // 1 = lit by the moon, 0 = behind a sail
    sum += MoonShadow(position) * density;
    t += stepLength;
}
  • Shadow-map raymarch
  • Blue noise
  • Render Graph
  • Shader Graph wind
  • Procedural meshes
  • Film print

2.46 ms GPU at 1080p on a laptop GTX 1650 Ti · 11.0 ms at 720p on Intel UHD with the Low preset

// Unity 6 URP · Render Graph · HLSL · open source

Infinite Garden: a Manifold Garden-style endless world

One 48 m tile of cubes is drawn as a 3D grid of instanced copies around the camera. The fog end distance is the view radius, so the fog decides how many copies get drawn, and the camera wraps around the tile to fall forever. The outlines follow Arthur Brussee's SIGGRAPH 2020 talk: a Render Graph pass finds each pixel's distance to the nearest depth or normal edge and draws an anti-aliased line from it, with no MSAA or TAA.

IG_Edges.shader HLSL
// the edge lies halfway between two pixels
float d = 0.5 * length(float2(kTaps[k]));
if (isEdge && d < distanceToEdge)
    distanceToEdge = d;

// anti-aliased iso-line of the distance field
float coverage = saturate(0.5 * _EdgeWidth + 0.5 - distanceToEdge);
  • Render Graph
  • SDF outlines
  • GPU instancing
  • Frustum culling
  • FrameTimingManager
  • Benchmark CSV

3.6 ms GPU at 1080p on a laptop GTX 1650 Ti · 78 fps on Intel UHD with the low-end preset

Stylized top-down RPG with grass and vegetation

// Tech Art · Shaders

One wind core for all vegetation

A single WindCore.hlsl include drives grass, flowers and every wind-swayed object — layered value-noise / FBM for the breeze, a travelling gust wave for punchy bursts, and a per-vertex bend that sags instead of stretching. Depends only on _Time, so it costs nothing at runtime.

WindCore.hlsl HLSL
// travelling gust wave
float wavePhase = dot(worldPos.xz, dir) * 0.1 - time * 0.9;
float waveFront = smoothstep(0.90, 1.0, sin(wavePhase));
float totalWind = lightBreeze + waveMask * 0.7
                + windNoise * (lightBreeze + waveMask) * 0.4;

// bend the blade, then sag so it never stretches
worldPos.xz += (dir + swirlDir) * bend;
worldPos.y  -= (1.0 - sqrt(1.0 - bend * bend)) * heightT * scale;
  • HLSL
  • Value noise + FBM
  • Gust waves
  • Per-vertex bend
  • Distance fade
  • GPU instancing

One include animates grass, flowers & foliage — driven only by _Time.

Real-time combat VFX

// Shaders · Lighting · VFX

URP shaders, lighting & VFX

A single cohesive look across water, vegetation, character outlines and effects — built with custom HLSL and Shader Graph, custom lighting solutions, and gameplay / ambient VFX tuned for runtime performance.

  • HLSL
  • Shader Graph
  • Custom lighting
  • Stylized water
  • Outlines
  • VFX

One consistent art direction — grass, water, characters and effects.

// WebGL1 · GLSL ES 1.0 · no libraries

The water behind this page

This page's background is a live fragment shader running over frames from projects I worked on: sine distortion, mip-bias blur, BT.601 luminance mapped onto a five-step palette, stepped caustics and rising bubbles — rendered at reduced resolution and paused when you can't see it.

  1. frame
  2. sine distort
  3. mip blur
  4. luminance
  5. 5-step palette
  6. caustics
  7. bubbles
  8. overlays

Shader is off on this device (reduced motion / data saver / no WebGL).

Guides

Written up on r/Unity3D — Shader Graph, projection mapping, HDRP

Menu
Isometric room in an oil-painting style: a man stands under a floor lamp next to a bed and a wardrobeTutorial
Apr 2, 2026 · r/Unity3D

Disco Elysium-style 2.5D graphics in Unity

  • Unity
  • Shader Graph
  • Step by step

Step-by-step guide to a painted 2.5D look: a gray-box scene, a paintover projected back onto the geometry with camera projection mapping, and the Shader Graph setup behind it.

Low-poly hooded figure under a street lamp in thick volumetric fog, rendered in HDRPBreakdown
Mar 28, 2026 · r/Unity3D

PS1 horror look in HDRP

  • HDRP
  • HLSL
  • Shader Graph

World-space vertex snapping in a Shader Graph HLSL function that keeps skinned meshes and HDRP shadow maps intact, plus volumetric particle fog.

All posts by u/Murky-Goose-1291 (opens in new tab)

About

Tbilisi, Georgia · open for freelance · from $25/h

Menu

/Since 2021 /Tbilisi /English B2

Name
Aleksandr Kartak
Role
Unity Dev · Technical Artist
Location
Tbilisi, Georgia
Status
Open for freelance · full-time
Languages
Russian · English (B2)
Freelance
Open · remote · UTC+4
Look
Custom shaders and a distinct visual style in URP / HDRP
Rendering
Render Graph passes, skybox and SDF shaders, light shafts, outlines, fog, post-processing
Performance
Frame budgets, profiling, scenes that run on integrated GPUs
Gameplay
C# systems, VFX, editor tools
Rate
$25/h, or a fixed price for small tasks

Building worlds people can play in.

Unity developer in game development since 2021, combining gameplay programming and systems architecture with technical art — shaders, VFX, animation and rendering / performance optimization.

Most recently at Elven Empire (Jan to Sep 2026): tech art on Aura Farming, live on Steam under the studio's Fropy Studio label with 150+ reviews, Mostly Positive. I made its ability VFX and character auras, handled UI and scene integration, post-processing and optimization, and built a custom grass rendering system with URP water and vegetation shaders for Apothecary's Dungeon. Before that I founded an indie studio and architected the core systems of Reday-1: a data-driven quest system, NPC navigation, save / load and custom Unity Editor tooling.

Since October I have been publishing real-time showcase scenes made in Unity 6 URP. The latest, REMNANT, draws a monster inside the skybox shader.

  • Unity
  • C#
  • URP
  • HDRP
  • HLSL
  • Shader Graph
  • VFX
  • Systems Architecture
  • Performance
  • Editor Tools

Seeking Freelance and contract work on Unity projects, and full-time Unity or tech-art roles.

Experience

Sep 2021 → now · 3 roles

Menu
  1. Jan 2026 — Sep 2026

    Unity Developer

    Elven Empire

    Aura Farming (Steam, Fropy Studio label) · King of Merchants · Apothecary's Dungeon

    • Engineered a custom grass rendering system for large environments — vertex animation, GPU instancing (DrawMeshInstancedIndirect) and chunked loading.
    • Developed custom URP shaders (HLSL, Shader Graph) for water, vegetation, character outlines and environmental effects, plus custom lighting solutions.
    • Created gameplay and environmental VFX — attack effects, character auras, and ambient effects such as fireflies and butterflies.
    • Built character animation & IK systems and DOTween-based UI transitions; optimized rendering for runtime performance.
  2. Nov 2024 — Dec 2025

    Founder & Lead Game Developer

    Homo-Ludens

    Reday-1 (unreleased)

    • Founded the studio and led technical development with a team of 6, defining the architecture and implementing 10+ core systems — player controller, movement, interaction, inventory, items, checkpoints and game states.
    • Architected a data-driven quest system (states, dependencies, ScriptableObject & JSON databases) integrated with NPCs and an adapted Dialog System for Unity.
    • Built reusable Unity Editor tools for content creation, NPC navigation, save / load, scene streaming and a custom audio system with dynamic music.
    • Improved runtime performance through object pooling, memory optimization and FPS troubleshooting.
  3. Sep 2021 — Present

    Freelance Game Developer

    Self-employed

    Gameplay & progression systems for commercial, personal and game-jam projects

    • Built the client-server side of Cyber Abyss (Кибер Бездна) — progression and microtransaction systems with an extensible architecture for online features.
    • Developed custom shaders, a predictive control system and progression mechanics for commissioned action titles; supported refactoring.
    • Integrated the Yandex SDK, passed platform moderation, and adapted / optimized Naninovel for School Story.
    • Rapidly prototyped playable demos for game jams — including a complete prototype built solo in 12 hours.

Skills

Toolbox — 6 sets

Menu

Education & languages

Master's · Bachelor · English B2

Menu
  • Master's

    Innovation Management

    Peter the Great St. Petersburg Polytechnic University (SPbPU)

  • Bachelor

    Information Systems & Technologies

    Ufa University of Science and Technology

Languages

Russian
Native
English
Upper-Intermediate · B2

1 / 6

Showreel

Background shader · GLSL ES 1.0