Who am I?

Unity / Unreal Developer and 3D Artist

What I write about

Recent Posts


Unity's Timeline component is a powerful NLE animation system with a highly modular internal structure.

As such it can be interesting to access parts of it via the API:

// PlayableDirector references to the timeline asset called PlayableAsset
PlayableAsset playableAsset = director.playableAsset;

// Cast it to a proper timeline asset
TimelineAsset timeline = (TimelineAsset)playableAsset;

// Get all the timeline tracks as TrackAsset
IEnumerable<TrackAsset> trackAssets = timeline.GetOutputTracks();

// Iterate through all the tracks
foreach (TrackAsset trackAsset in trackAssets)


Initial download size on the web is very important and Unity is, at least in its basic form, by nature not the perfect choice for building small, efficient WebGL applications.

But there are a lot of dials and buttons to press, allowing us to tune the size even without having to resort to Project Tiny.

I set out to see how small I could get a WebGL build. As reference I took the default Unity Universal Render Pipeline template and went through all the optimization options.


Render Pipeline Publish Compression Texture Compression Shader Stripping Code Stripping Size on Disk

Here's a collection of shader algorithms in node form for the Amplify Shader Editor. Useful, should you ever want to build a shader with custom lighting and are too lazy to do it in code.



Simply the dot product between the surface normal and light direction in world space.



The dot product between the surface normal and the normal half way between view direction and light direction. The hardness can be adjusted by power with the hardness as exponent.



The dot product between the surface normal and the view direction. This is basically the incidence angle and can be us...

Jumping on the hype train about Blender 2.8 and while it's looking nice, getting to grips with new software is always hard.

Documentation for 2.8 is currently being updated.

I therefore compiled a list of hotkeys that I found useful for working with Blender:

Key Action
Shift + Space Open Toolbar Menu
Right Mouse Open Vertex / Edge / Face Context Menu
Alt + E Open Selected Tool Menu (will enable numeric value entry!)
Ctrl + V Open Vertex Menu
Ctrl + E Open Edge Menu
Ctrl + F Open Face Menu
U Open UV Menu
T Toggle Left Toolbar
Shift + A Open Mesh Primitives Menu

Optimisation tips for various platforms taken from various Unity/Unite talks:

Mobile VR:

Youtube: Unity LA 2018: Going for Speed Maximizing Performance on Oculus Go


  • Enable Single-Pass Stereo
  • Static Batching - One material per Mesh and mark meshes as static.
  • Bake Lighting - Per-pixel lights break batches.
  • Occlusion Culling - Don't draw stuff you can't see.
  • If Umbra fails build custom occlusion engine - Interiors work better with a custom portal engine.
  • Oculus Go can handle large textures - 4096x4096
  • Oculus Go can do small head translations in addition to head rotation.


  • Faster Fragmen...