[Odessey] Creating my own G-Buffer in UE4

Really amazing documentation ! Thank you Temaran. I am sure I will need to use this effect in my game, so this will help me a lot. I am just wondering if it is possible to somehow isolate changed files and make standalone plugin from that ?
I really would like to see this in official build too, so hopefully, epic will check your work :slight_smile:

Hello Nonder!

As I mentioned, my ultimate goal is to create a plugin or make a pull request. The problem with making a plugin is that I am unsure if it is possible to access all low level systems I need to from a plugin level to make this work. The problem I am facing with the pull request is that this change (because I am using a MeshMaterial) creates another 1000 shaders or so that need to be compiled when first launching the editor. This extra amount of compile time + space is not insignificant, so until I find some way to tackle this, I think that Epic would be reluctant to include it into further releases by default unless people find it useful enough :slight_smile:
I will create a pull request in due time nevertheless, but I don’t think it will be accepted until I can find a solution to this problem.

The easiest way to access the changes is to just pull and build my fork. If you choose this route, I would recommend using the 4.4 version, just remember to get the new dependency packages + the one Epic forgot for that version (you can find that in this thread: )
If you do not want to run off my fork, you can create a patch from the commits from the 4.4 root from my branch and then apply that patch to your 4.4 base with:

git diff e29f8810134015a5e1486fde6d25bf61b0a5df5d 98b829a2ddf53827e8e53138f7899e87dd070793 – > CustomTagBuffer.patch
and then apply that to your repo using (You need to be on some commit after 4.4 for this to work without a lot of merging):
git am --signoff CustomTagBuffer.patch

I think the easier route is to just clone my fork unless you have changes of your own :slight_smile:
I’ll come back and post an update on what happens with the pull requst~

Best regards,

Thank you for fast reply. I hope they will check it and approve it or at least they will think about some other solution. I really like this kind of projects :slight_smile:

Wow, crazy amount of work you’ve done here Temaran.

You should make us a forward rendering path for water and stuff :stuck_out_tongue:


All suggestions for additional odesseys are welcome :slight_smile: I haven’t really decided on what to do yet, but another rendering thing is definitely a possibility. I am currently leaning to do something to do with compute shaders, just because I love the amazing stuff you can do with a few simple mathematics formulas and a massively powerful renderer like UE4’s.

We’ll have to wait and see :smiley:


I thought I’d mention that I managed to get renderdoc to work as a *.usf and renderer debugger!
The creator of the software actually messaged me and helped me sort out why I was having problems, so incredible amounts of Kudos to him!
You should all definitely check out his github as the software is now open source too :smiley:

Anyways, I made a small tutorial on the wiki if someone other than me is struggling with this.

Here is the link:

I hope this will be useful to someone :slight_smile:

Best regards,

  • 1 for RenderDoc, I have been using it for a while now to debug USF and rendering in UE4

Thanks, Temaran! I have done similar work (using off screen render targets and custom passes) for trying some algorithms on translucency and found several parts of your work process help mine. If you want to know more I am trying to blog about it here:

Thanks again,

Petter Edblom

Your link is broken. Here, I fix! :smiley:

Thanks! I am about to finish the second part Any comments or suggestions are welcome.


Very cool Petter!

I’m going to play around with that later :smiley:
I’ve updated the code to work with 4.5 now:

Best regards,

Thanks! The final part is up now at


Ooooh I am definitly following this, very fascinating! Sadly I don’t have the time to test it at the moment, but I’ll keep my eye on it. Keep it up :slight_smile:

‘Keep your eye on it’? The thread reached it’s conclusion months ago :stuck_out_tongue:

This might still happen at some point :smiley:

(but oh my, I haven’t looked at the date, sorry for digging up such an old thread again :o )

Its very nice work, Temaran. We all appriciate this. =)

Could you make step by step tutorial of implementing custom buffer please?

****, this was just what I was looking for… at least it’s possible, guess I’ll start learning from scratch :confused:

Hello! Even though I can’t make a tutorial, I still have all the code I wrote available on my github! As long as you have access to the UE4 github source, you can check out/ fork my stuff.

While I haven’t made an update for 4.7 it should be fairly easy to port from my 4.6 stuff :slight_smile:

Best regards,

Thank you, I hadn’t setup the github account and linked it to my profile here. Now I see it and was able to download the ZIP, thank you so much Termaran!


great work! I’m currently fiddling with outline materials and got to the point where I need exactly that.
I also want to be able to fade in and out the outline drawing later.

Any chance that the work of Temaran will be available in the release branch?