Use cycles to bake textures for a physically based engine I am trying to use Blender to procedurally generate a mesh and material(s)/texture(s) via python. Parts of the mesh are assigned to material A and other parts material B and so on... The scene is set up to have a sun and is illuminated.

I want to use the created mesh and it's visual details (diffuse, glossy, emission, etc.) in a game engine which can render physically based (not UE4 or Unity, but my own engine, which is in development). Of course, the game engine can set the light source somewhere else and the object should be correctly illuminated.

Now I want to export the textures (albedo, glossy, roughness, whatever-could-be-helpful). I know I can bake the textures in Blender. I need to unwrap the mesh, create a image in uv-editor and select this new created image in a image texture node. 

Now I can choose between Subsurface Color, Subsurface Indirect, Transmission, Glossy, Diffuse, Environment and so on. I am a little bit lost looking at these bake types. What types do I need? What is the difference between Color, Indirect and Direct? Why is there diffuse and not albedo? (Diffuse is with shading, albedo isn't).

Can someone shed light on the differences?
If Diffuse Bake type is set to color, the output will be albedo, assuming you haven't included an AO map in the node path. However if you choose either direct or indirect, the output will be a diffuse map since it is color fused with light and shadow.