Skip to content
Blog

Things learned the expensive way

Short, practical writing about texturing, material authoring and getting hired — the notes I would give a student sitting next to me.

PayPal can take 8.99 per cent of a cross-border invoice
Latest

PayPal can take 8.99 per cent of a cross-border invoice

Artists argue for hours about charging $40 an hour or $45. PayPal's own published schedule can take 8.99 per cent of the invoice — and the number is different in Poland, Brazil and India.

September 29, 20264 min read
California made scope creep illegal, and nobody told the artists

California made scope creep illegal, and nobody told the artists

Since January 2025 a Californian client cannot hold your money back until you do one more pass. My four-person studio is not covered by it. You probably are.

September 28, 20264 min
Chapter four is where everyone stops. I cannot prove it.

Chapter four is where everyone stops. I cannot prove it.

I said I would publish my own course completion numbers. Then I opened my database and found it records purchases, not progress. What I could measure, what the research really says, and the three figu

September 27, 20263 min
YouTube will dub my course into 27 languages. Farsi is not one of them.

YouTube will dub my course into 27 languages. Farsi is not one of them.

YouTube now auto-dubs for every channel. But its language table points at English, and the countries that watch the most 3D tutorials — Iran, Turkey — are on the wrong side of it.

September 26, 20263 min
I sell smart materials. FlippedNormals is half right.
Substance PainterSmart MaterialsWorkflow

I sell smart materials. FlippedNormals is half right.

A video with 200,000 views says beginners lean too hard on smart materials. I make them for a living. Half of it is right, and most people took the wrong half.

September 23, 20264 min
Blender's own studio renders at 200 samples

Blender's own studio renders at 200 samples

Blender Studio's art director sets Cycles to 200 samples. I swept my own preview scene: 64 samples with the denoiser beat 2048 without it, at 2.16 seconds against 47.82.

September 19, 20264 min
The fastest boolean solver refuses most of my meshes

The fastest boolean solver refuses most of my meshes

Blender's Manifold solver refused thirteen of the twenty-two objects I cut with it, and it ran sixty per cent slower than Float. Numbers from my own files.

September 18, 20264 min
AI retopology in seconds: what it does to your bake
AIRetopologyBaking

AI retopology in seconds: what it does to your bake

The vendors' own documentation says the quiet part. Run the one test that matters — a high-to-low bake — and retopology in seconds stops being retopology.

September 18, 20264 min
OpenUSD got its first real specification. Materials are not in it.

OpenUSD got its first real specification. Materials are not in it.

OpenUSD shipped its Core Specification 1.0 in December, and materials are named as out of scope. Here is what "just send it as USD" actually leaves undefined, and the checklist I read before I ship a

September 17, 20263 min
Unreal throws away the normals you exported. It has since 5.4.

Unreal throws away the normals you exported. It has since 5.4.

Every hard-surface tutorial ends at "add a Weighted Normal modifier and export". I measured what Unreal's default importer does with those normals, and the answer is nothing good.

September 16, 20264 min
AgX is not broken. Half the fixes are.

AgX is not broken. Half the fixes are.

Videos keep telling you AgX washes out your colours. I measured it in Blender 5.1: blue rotates almost 21 degrees. Then I measured what the two most popular fixes cost, and both are worse.

September 15, 20264 min
Your .blend file now carries a colour space, and it converts my materials on the way in

Your .blend file now carries a colour space, and it converts my materials on the way in

Blender 5 stores a working colour space inside the file. I appended nine swatches from Rec.709 into ACEScg and back, and measured what moved: zero out of 255 one way, 126 the other.

September 14, 20264 min
The EU's AI labelling rule started. It does not bind you — your marketplace does.

The EU's AI labelling rule started. It does not bind you — your marketplace does.

Article 50 applied from 2 August 2026. It puts the duty on the company that built the generator, not on you. I tested whether the mark it demands survives a texture pipeline, and read the four terms p

September 13, 20264 min
No trim sheet, no environment art job
CareerPortfolioEnvironment Art

No trim sheet, no environment art job

Ten hero props and nothing that tiles. The missing trim sheet is not the problem — it is the evidence, and here is what a lead reads into it.

September 13, 20264 min
The 30 per cent that appeared on my royalty statement in January 2024

The 30 per cent that appeared on my royalty statement in January 2024

On 1 January 2024 my US royalty withholding went from zero to 30 per cent, and no marketplace did it. Here is what actually ended, and the one number on your own dashboard that decides what it costs y

September 12, 20264 min
Fab paid creators $24 million. Divide it by 20,000 publishers

Fab paid creators $24 million. Divide it by 20,000 publishers

Epic put three numbers in one paragraph and everyone quoted the biggest. Divide it by the other two and you get about $1,200 a publisher, for the year.

September 11, 20263 min
Lumen cannot see your base mesh, and Unreal will not tell you

Lumen cannot see your base mesh, and Unreal will not tell you

Lumen puts 12 cards on a mesh, culls small props out of the scene, and cannot hold a one-sided surface at all. Your prop renders and gives back no light. The view mode that shows you is one dropdown a

September 10, 20264 min
ZBrush sends straight to Painter now. Read what "Low & High" actually sends.

ZBrush sends straight to Painter now. Read what "Low & High" actually sends.

The ZBrush to Substance Painter bridge deletes the export step, and its recommended setting hands Painter your lowest subdivision level as the low-poly. Adobe's own polycount guidance is a hundred tim

September 9, 20264 min
ZBrush moved your brushes. Every install readme is now wrong, including mine.

ZBrush moved your brushes. Every install readme is now wrong, including mine.

Since 2026.1 ZBrush will not write into its own Program Files folder. Every brush pack readme that says "drop it into ZStartup" is now out of date — I checked my own catalogue and nine of my listings

September 8, 20264 min
I sell 4K textures. Most of you should not use 4K.
TexturesOptimisationWorkflow

I sell 4K textures. Most of you should not use 4K.

A 4K PBR set costs 64 MB and covers one small crate. Here is the resolution your prop actually needs, and the arithmetic that decides it.

September 8, 20264 min
Blender said animation got three times faster. On the file that mattered it was four per cent.

Blender said animation got three times faster. On the file that mattered it was four per cent.

Blender 5.1's own table reports gains from 4 per cent to 304 per cent. Every write-up quoted the 304. I rebuilt all three tests on 5.0.1 and 5.1.1, and my rig file gained nothing at all.

September 7, 20264 min
Four bone influences is all the engine keeps

Four bone influences is all the engine keeps

Blender stored 44 weighted groups on one vertex without complaining. Unreal keeps four, sometimes eight, and nothing warns you — so I measured what falls off at a 90 degree shoulder raise.

September 6, 20264 min
Blender 4.2 LTS is over. Here is the number I put on 18 add-ons.

Blender 4.2 LTS is over. Here is the number I put on 18 add-ons.

Blender 4.2 stopped getting fixes in July. I installed my own Lego Generator on four Blender versions to pick a new minimum — it failed on two of them, including the one my listing claims.

September 5, 20264 min
The texture cache saves 4.4 GB. It does nothing for a packed .blend.

The texture cache saves 4.4 GB. It does nothing for a packed .blend.

Blender 5.2's texture cache cut one benchmark scene from 5,417 MB to 1,052 MB. I tiled and mipmapped my own 4K set to price it: 643 MB became 1.26 GB, and a packed .blend gets none of it.

September 4, 20264 min
Nanite Foliage deleted the LOD chain. Read what Epic actually shipped

Nanite Foliage deleted the LOD chain. Read what Epic actually shipped

Epic's 41-million-triangle tree costs 29 MB instead of 3.5 GB. The trick is not Nanite. Divide two numbers on that page and you can see what it is.

September 3, 20264 min
Blender 5.2 remote asset libraries: do the arithmetic
BlenderAsset LibrariesWorkflow

Blender 5.2 remote asset libraries: do the arithmetic

Blender 5.2 hosts your asset library off a static web server. I packed one of my own 4K packs to find the real cost: 643 MB to download a single plank.

September 3, 20264 min
Your UV padding is wrong below the 128 mip, and that is not an opinion

Your UV padding is wrong below the 128 mip, and that is not an opinion

I measured it: 226 ruined compression blocks at a 2 px gap, and 21.77 of error once the mips run out. Padding is a number, not a vibe. (135 chars)

September 2, 20264 min
Your AI albedo has the light painted into it. Their own docs say so

Your AI albedo has the light painted into it. Their own docs say so

Every generator paints light into the base colour, then your engine adds its own. There is one checkbox, and the vendors' own docs say to keep it on.

September 1, 20264 min
AI models are one upload in six and one dollar in ninety

AI models are one upload in six and one dollar in ninety

Two reports ten days apart measured the same thing and disagreed. AI is one upload in six and one dollar in ninety. Both numbers are true. (137 chars)

August 31, 20264 min
The art test is graded in the outliner, before anyone opens your render

The art test is graded in the outliner, before anyone opens your render

I ran a lead's outliner check over 46 real Blender files: 831 objects, 2.2 seconds each. Fifteen passed. Here is what the other thirty-one failed.

August 30, 20264 min
You are not competing with the laid-off veteran. You are competing with 225,000 other juniors

You are not competing with the laid-off veteran. You are competing with 225,000 other juniors

The laid-off seniors are 43,000 people. The graduates are 225,000. I read the workforce numbers, and the advice juniors keep hearing is a quarter true.

August 29, 20264 min
Superhive's support period, from the seller's side
BlenderAdd-onsMarketplaces

Superhive's support period, from the seller's side

I sell eighteen add-ons there. Everyone is arguing about the wrong clause — the one that matters ties you to the Blender LTS, and your customers are not on it.

August 29, 20264 min
Unity deleted a whole region's sellers in 28 days. Read your payout page today

Unity deleted a whole region's sellers in 28 days. Read your payout page today

Unity gave publishers in Greater China 28 days before delisting them. Nobody broke a rule. Open your payout page and work out one number.

August 28, 20264 min
Everyone still says bake in Marmoset for skew. That stopped being true on 23 June

Everyone still says bake in Marmoset for skew. That stopped being true on 23 June

Painter 12.1 added skew painting. Half the internet's baking advice is now out of date, and half of it is still right. Here is which half.

August 27, 20264 min
OpenPBR is the default now. The thing that breaks is your file names.

OpenPBR is the default now. The thing that breaks is your file names.

Painter 12.1 made OpenPBR the default shader. Your smart materials are fine. Your export naming convention quietly changed, and that is the one that costs you.

August 26, 20264 min
Blender 5.2 broke every add-on that drives Geometry Nodes from Python

Blender 5.2 broke every add-on that drives Geometry Nodes from Python

Blender 5.2 changed how Python writes a Geometry Nodes modifier. I audited all eighteen of my add-ons. Two use the old API, and both broke.

August 25, 20264 min
KitBash bought ArtStation. I sell there. What I do now
ArtStationMarketplacesIndustry

KitBash bought ArtStation. I sell there. What I do now

Epic sold ArtStation to a company that sells what I sell. Every article says nothing changes. I can show you the last time that line was used.

August 24, 20264 min
Portfolio mistakes that quietly cost junior artists the job
CareerPortfolio

Portfolio mistakes that quietly cost junior artists the job

After reviewing several thousand student pieces, the same five problems come up again and again — and none of them are about talent.

May 12, 20263 min
Why I build fabric procedurally instead of scanning it
Substance DesignerCloth

Why I build fabric procedurally instead of scanning it

Photo textures are faster on day one and slower on every day after. A note on why the Designer graph wins for cloth.

February 24, 20263 min
Mesh maps are not optional: the bake decides your texture
Substance PainterWorkflow

Mesh maps are not optional: the bake decides your texture

Most 'bad texture' problems are bad bakes. Here is the checklist I run before a single layer goes down in Substance Painter.

November 18, 20254 min