Creating custom GLSL shaders for Blender Game renderer?

I was thinking of writing a custom GLSL shader to produce a unique texture blending effect. After doing some digging, I came across these pages which seem to suggest that there’s something that you can tweak the Material properties while using Game Engine renderer that lets you load your vertex and fragment shaders directly into it (instead of having to load at runtime using Python):

Trouble is, I can’t find this ‘custom shaders’ panel. These changes were in the Harmony 1 branch which supposedly was merged into Blender after 2.63. Has this feature since been depreciated? Or am I just not looking in the right place?

Hi! I think what you can see in the links you mentionned is Blender’s Harmony branch. It’s “parrallel” versions of Blender developed beside Blender’s official version. you can download builds here:
Or you can try to compile the branch yourself but it’s a bit hard to do I think:
The sources are here:
maybe more up to date here:

EDIT: I think you can make a 2.71 version (so you will need 2.71 libraries from to compile for windows x64). I try to compile it. If I succeed I’ll shared the Blender Harmony version.

But maybe you should have a look at here before:

Thanks. It looks like the Harmony branch does provide the support for the GLSL shaders. However, the Harmony branch is at version 2.67 and the current version is 2.75, almost two years later. Does this mean that this feature is unlikely to make it into the official blender release?

My interest in this is not to make Blender games, but to use blender to create game artwork that I then export for use in another engine. I’d like Blender to use the same shaders I use in my game to keep things as consistent as possible. I also want to be able to tweak my shaders parameters directly through the Blender UI rather than having to hand code everything. Is this something Blender is likely to support in the near future?

Kitfox, you may be interested in joining in on the discussion in the bf-viewport mailing list ( Right now it is pretty quiet, and not much seems to be happening at the moment, but part of the plan is to support the kind of workflow you are discussing. I imagine this will get more attention as things ramp up for 2.8.

For now, I have found the best you can do is recreate your shaders using the node system. This is certainly less than ideal, but can work for simple shaders. This also only works for fragment shaders.