1200+ CC0 PBR materials with 50+ material shaders, automated materials from textures/megascans

I work in pre-production for film (art direction and illustration) using UE4 and have a trove of useful tools that I will slowly be sharing as they are ready to see the light of day. Some will be free for all to use, some will be paid plugins in the UE4 marketplace. The tutorials I write focus mainly on using UE4 for making films, from fully digital to shot without any VFX.

This post is about some free material shaders and material instances I have built and collected over the past few years, and some tools to go along with them.
Below are 3 pages of the 96 page **library of materials **pdf showing all available material instances.

Where to find them:
All the files
Trello board with what I am working on
Github of just the shaders and tools
Link to support me in my endeavors

How to use them:

  • To start, download either the 4.23 / 4.24](http://www.mediafire.com/file/x838i7lyxato7wu/ShadersAndToolsOnly424.zip/file)project from mediafire (Stable release), or the github project (working files with alpha features, but may occasionally break)
  • Open that project, or copy the contents of its content folder into your project, overwriting when asked. Wait for any shaders to compile, then close the project
  • Look at the** library of materials **to decide which material instances you want in your project since the total download size is over 100 GB.
  • Download the associated .zip file frommediafire](http://www.mediafire.com/folder/q1xmtgny49hxo/ContentPacks_4.23%2B)(they work with both 4.23 and 4.24)
  • unzip your content pack. Inside will be a folder called content. Copy that folder into the same location as your .uproject file (should already be a content folder there if you have opened the project). IMPORTANT: Do **not **overwrite when copying in content packs if using 4.24, it will break things. It should be unnecessary to overwrite when adding to 4.23 projects as well
  • Open the project and explore.
  • To use the material generation, megascans to swappable, or fbx scene breaker tools, check the guides here

Why are these free?:

  • I believe in the democratization of creative tools, especially the basics
  • I have not found a good, consistent set of materials like this
  • It would be nice if others picked up on the methodologies I used to make these materials so there is a larger library of them available (if you do, please post in the comments!)
  • I have shared these materials with enough people upon request that providing a public link is useful to me personally
  • The textures are all creative commons, and posting them for free is in the spirit of that licence Support those sites here. I am not affiliated with any of them
  • If you want to contribute to this and other tools, you can use buy me a coffee. Keeping the materials library updated (usually 1-200 new materials every 2 months or so) takes a fair amount of time and I have lots of other tutorials and content in the pipe for future releases.

Quick Contents:

  • Swappable Material shaders: 50+ material shaders all built around switching from one to the other. Parameters are named consistently in every shader and organized for quick edits. Each shader provides a lot of parameters to hone in on the right look, from tinting the base color or changing the uv tiling, to tuning the exact nature of procedural applied puddles. They are also built using material functions much like building blocks, so creating a new shader that implements features from 2 or more existing shaders should be relatively simple. Global edits are also much easier.
    They are designed for flexibility and speed more than performance, so if you are using them to create a game it might be a good idea to use them to find the look you like, and then bake them down into less complicated materials later on. By default they use two sided shading to accommodate the realities of my industry.

  • **CC0 PBR Materials: **1200+ different PBR materials imported into UE4 that use one of the swappable materials as their master.

  • All textures are power of two (mostly 4k) with the correct compression settings, alpha settings and srgb mode assigned.

  • If the original texture source included ambient occlusion, roughness or metallic maps, they have been baked into a single ORM map to save on texture calls.

  • All textures are taken from creative commons 0 websites and are to the best of my knowledge under the public domain. See here](Public Domain Texture Sites - Google Sheets)for expanded details on where the textures are from as well as links to support those websites.

  • All the materials and textures follow a common naming convention, the details of which can be found here

  • Displacement maps are not enabled on any of these materials by default. If the folder of textures includes a _disp texture, you can use it by switching the material instance to MM_Swap_Solid_Displacement and filling out the displacement map texture field.

  • A list of the categories provided can be found below, or with images in the pdf found here](http://www.mediafire.com/file/uw8zjol64xflw30/UE4_Swappable_Material_Catalog_4.23.pdf/file)

  • **Material Generator: **A editor utility widget to convert a group of textures that follow a naming convention into a material instance in the swappable series, creating a folder with the correct name if applicable. A guide and more details can be found here. This tool is useful if your textures follow the naming convention provided. If not, it can be modified to use any naming convention, look at the two presets for inspiration

  • Megascans Material to Swappable Material: An editor utility widget to convert a megascans material downloaded from the marketplace into a swappable material instance. A guide and more details can be found here. If you only have megascans textures, you can use the material generator tool to create a material instance for them, just change the preset from CC0 to megascans

  • Break FBX Scene/Blueprint: As part of my pipeline, I import a lot of files as blueprint FBX scenes. They allow you to do layout in blender/maya/max/etc. and then keep pivots in UE. There are some problems with how they import, and, more importantly, you can not turn them into their constituent parts after import in vanilla UE4. I made a tool that allows you to right click any fbx scene out in the world (or any blueprint for that matter) and it will break it apart in place, preserving any parenting that the blueprint had. In 4.23 there is a bug that requires you to run the command, undo, and then run it again occasionally. How to use the fbx scene breaker and a guide on my import process here

Current shaders in the swappable series:

  • (Visual guide to the materials in the works)

  • MM_Swap_Solid: standard solid shader used by most objects in a scene

  • Puddles: dynamically adds puddles to the flat areas of the mesh

  • Unique backface textures: Uses one set of PBR textures for the front of faces, and another for the back.

  • Bump Offset: Uses bump offset instead of displacement for surface detail

  • Dirty: Adds a texture layer to the object to add in dirt details

  • Dirty Vertex Paint: Same as dirty, but adds extra control over the dirt through vertex painting its intensity

  • Displacement: automatically subdivides the surface of the mesh and manipulates it using a displacement map. The mesh must have enough detail to be displaced (a plane with no subdivisions will look like mesh, the same plane subdivided a few times in your modeling program will look correct)

  • Panning: The textures move across the surface of the mesh based on direction and speed inputs

  • Snow Moss: Adds a PBR texture set to the top (adjustable) surface of a mesh with the option to mask it based on surface detail so it fills in cracks first, then higher areas

  • Triplanar Hard Edge Fast: The standard for all other triplanar materials mentioned. Sprays a texture from the top, front and one side at the mesh to avoid having to do proper uvs. Also allows effects like world aligned textures. The fast version can leave an artifact line, but is a lot cheaper than the soft version

  • Triplanar Soft Edge: Similar to the hard edge variant, but it will blend the transition between each directional projection. Significantly more expensive and it cannot handle adding most of the other effects

  • Vertex paint icicles:Vertex paint displacement mapped icicles onto your mesh where the mesh faces down (adjustable), and a slightly raised ice where the mesh faces up. Can also be used for stalactites, stalagmites, hanging moss, or any number of other effects

  • MM_Swap_ClearCoat: For automotive materials and varnished tables

  • MM_Swap_ClearCoatDualNormal: The most common use case is carbon fiber. Requires Clear Coat Enable Second Normal to be checked in the project settings

  • MM_Swap_CubeMapRoomView: Creates the impression of a window into a space defined by a cube map. Very useful for adding “room views” to the windows on the exterior of a building without the overhead of geo or lighting inside the room. Visual of the effect found here

  • No Normal Distort: A simple window

  • Normal Distort: Simulates looking through a textured pane of glass. The cubemap image will distort with respect to the normal map applied to the surface

  • Normal Distort Masked: Simulates looking through a textured pane of glass with leading or mullions. This shader can simulate partially transluscent masks as well, useful for stained glass or mullions made from a clear material

  • MM_Swap_Decal: a series of materials based around projected decals in a scene. Useful for adding surface details like grime, graffiti, posters, etc. without adding additional geo

  • Decal Dbuffer: the transparency of the decal works better with dynamic lighting and the decal works with baked lighting

  • Decal Dbuffer Emissive: allows the decal to glow with an emissive texture

  • Decal Dbuffer Translucent: small variation on decal debuffer

  • Decal Emissive: an emissive variant of a decal that does affect baked lighting

  • Decal IridescentZ6: A decal that adds Zuccoini6 based iridescence as well. Very useful for oily materials. Does not affect baked lighting

  • MM_Swap_Emissive: a material that can glow based on an emissive texture

  • Emissive: A solid variant of the shader

  • Emissive Triplanar: a solid variant of the shader, but uses triplanar projection instead of the object’s UVs

  • Emissive Dynamic LPV: If you use dynamic LPV, this shader has the ability to inject light into that calculation so that emissive surfaces glow. It requires a lot of settings enabled to work correctly

  • Emissive Inner Glow: Simulates the effect of a point light in fog if applied to a sphere

  • Emissive Opacity Mask: A variant of the shader that allows masked transparency

  • Emissive Triplanar: A variant of the shader that uses triplanar projection instead of object UVs

  • MM_Swap_Foliage: Plants with subsurface scattering and translucency maps

  • Foliage Displacement: A variant of the shader that allows for displacement maps to alter the underlying geo

  • MM_Swap_Glass: Translucent shaders for glass/clear plastic/etc

  • Dithered Edge Falloff: Uses opacity mask dithering for opacity instead of translucency. Prone to artifacts but handles stacked transparency much better than a standard translucent shader and is cheaper

  • Dithered Edge Falloff Fake Reflection: Same as above, but you can specify a cube map to provide a fake reflection on the surface of the glass

  • Dithered Edge Dirty: The surface of the glass can be modulated by a dirt map, changing color, roughness and opacity

  • Fresnel Clean: Implements Fresnel effects in a translucent shader, distorting the scene viewed through the glass

  • Fresnel Dirty: The surface of the glass can be modulated by a dirt map, changing color, roughness and opacity

  • Frosted: Implements a spiral blur effect on the scene as viewed through the glass. Prone to artifacts and can be very heavy based on settings

  • Simple Additive: Glass that only brightens what is placed behind it, never darkening it

  • Simple Translucent: A translucent surface with no distortion

  • Simple Translucent Dirty: The surface of the glass can be modulated by a dirt map, changing color, roughness and opacity

  • MM_Swap_Hidden: The material slot is not rendered. Useful for meshes with multiple material slots where you want to hide only one of them

  • MM_Swap_Iridescent: Various shaders that add an iridescent effect to an object (rainbows on oil or titanium)

  • HueShift

  • Rodrigues

  • Zuccoini6

  • MM_Swap_OpacityMask: Shaders that use a black (solid) and white (fully transparent) texture to mask out a material

  • Opacity from Alpha: Uses the base color texture’s alpha as the opacity mask

  • Opacity from alpha triplanar: same as above with triplanar mapping

  • Opacity Mask Subsurface: implements subsurface scattering (light glow through the object when a light is placed behind it)

  • MM_Swap_OutlineIntersections: Uses mesh distance fields to outline intersections with other objects. This shader hides the object. Useful to apply to a plane that is placed in the scene to show a cut point

  • MM_Swap_SkySphere: Material set up to apply to a sphere object that is used as the sky in the scene

  • Shadowmask: Uses the same texture as the skysphere and a sphere that is just slightly larger in scale. If the skysphere is set to not cast shadows, the larger shadow sphere will create shadows based off trees or other occluders in the image. It also implements rudimentary wind movement

  • MM_Swap_subsurface: Solid shaders that implement subsurface scattering (light glow through the object when a light is placed behind it)

  • Icicles: Vertex paint displacement mapped icicles onto your mesh where the mesh faces down, and a slightly raised ice where the mesh faces up. Also uses subsurface scattering on the icicles to simulate real ice

  • Preintegrated Skin: A cheaper way of doing subsurface on skin

  • Profile: Uses a subsurface profile to dictate how the light falls off as it passes through the object. Useful for things like Jade, glass, skin, etc

  • Triplanar

  • Z_MM_etc. : work in progress shaders

  • Triplanar vs UVs: Triplanar projection is a method of applying textures to an object based on its surfaces’ world or local orientation as opposed to the UVs provided with the object. It is a quick way to splatter a texture on an object without much UV work and I use it when we are early in the project. It does require at least some UVs, so if I do not create proper UVs on a mesh, I will still auto UV project. Triplanar projection is also useful when you want several textures to line up with eachother across multiple objects and on landscapes.


My Background:
My past work includes The Lion King (2019), Call of the Wild (2020), the ill fated Mouseguard (2020, cancelled) and some projects I cannot yet talk about. On those projects I was at the center of developing pipelines to use UE4 to make movies both from a purely virtual sense as well as a physical sense.
The Lion King and Mouseguard were fully virtual production movies, designed and shot in UE4, and then rendered by a traditional VFX pipeline.
Call of the Wild and my current project used UE4 for our preproduction. We discussed the sets using VR, used it as a story-boarding tool, and an on-set tool to get an idea of the digital extensions for the sets but the actual filming was done in the real world with physical actors and cameras.
On other projects, such as the Mandalorian, UE4 has been used in conjunction with LED screens to shoot a digital extension at the same time as the physical actors and set, offering up a brand new way of shooting with powerful implications.

The tool has the potential to facilitate incredible collaboration between art departments, previs, camera and VFX as we can all work in a common environment.

  • Art and Previs can work in the same file, reducing turnaround times and avoiding the common communication gap where previs does not have enough information to work with, so they might create 3d animation in environments that do not relate to the design being built.
  • With a lot of the virtual production tools myself and others (Epic has been great here) have created, the DP and director can set cameras long before the sets are built, allowing the creative team to make decisions from which locations to choose from across oceans, to what parts of a set do not need to be built since they will never be shot. Used intelligently the tool can save millions of dollars on a production while making a better film.
  • With the ability to visualize digital extensions quickly, discussions about how VFX will be integrated into the film can be had far in advance of shooting. The pipelines that we use also allow better communication of the art department’s design to VFX if both departments are invested in the tools. A UE4 file turned over to VFX can help answer a lot of questions down the line about the art department’s intentions at a time when most, if not all, of the art department has moved onto other projects.
  • On set the tool can be used to help line up traditionally blue-screen shots with a good reference of what the final shot might look like. Bluescreen can be tricky without a way to visualize the extension through the camera since you are effectively composing an image without all of the important details.
  • With a visualization of the background on set the DP can light the scene in relation to the background, adding to the believably of the scene and helping avoid the problem where the lighting on the actors does not match the lighting of the background.
  • With the advent of real time LED screen backdrops that react to the camera, VFX post can be done during pre-production. The LED screen can provide accurate lighting for a scene, further improving the relationship between the physical and digital worlds. The camera can then capture the scene with the digital background in place, outputting a nearly final image, or, if the digital extension is rough, the leds can turn into a bluescreen just where the camera is seeing, allowing the creative team to shoot with the advantages of more accurate lighting, while keeping the ability to create a much higher quality digital extension later
  • The director can show the actors the set with a digital extension to help them visualize the space they are playing in
  • I have found UE4 to be an incredibly useful tool in our larger toolset of making films. It is not the solution to every problem, however, it can touch every aspect of making a film in a positive way.

I’ve downloaded it, but not gotten through it yet. But thank you - an amazing example of a high quality approach to material management. If everyone’s assets were as well planned out as this then they’d be able to re-use so much between projects with little effort (it’s pretty much object orientated I guess!).

haven’t downloaded it because the limit has been reached but thank you!

i’ll…keep trying to download…

This is awesome! Thanks for sharing with the community. I’m also coming to unreal from the feature film vfx side. In my case, I’m just at the beginning of the process. It’s often quite different in the methods of dealing with assets. I’d love to hear your thoughts on getting data from DCCs to UE4. I’m specifically struggling in keeping efficiencies from tools in Maya and Houdini, such as instanced layouts. All the UE4 advice I find is either just dumping massive geo files or making it from scratch as HISMs in the engine.

Anyway, nice materials! Nice work on Lion King too!

I have spent quite a bit of time circling those rabbit holes. We use a lot of instanced layouts outside of UE and the way to bring those in is using an FBX scene (or soon USD). To leverage materials correctly we end up having to import twice, once for materials, and a second time for meshes and layout. UE likes to work as instanced layouts once they are in the engine, so that is a nice plus.
With the right cleanup scripts beforehand it ends up being alright.
Fbx scenes are a bit of a pain to work with and have a few bugs though (you cannot break them apart by default, see the guide and 4.24 project for a sample of how I accomplish that) so I have been toying with a python script that can take data from special csv files to import an fbx scene with all texture slots covered. It is either a bit of a process with scripts to cleanup, or less of a process with more aggressive scripts though.

The basic methodology I use is covered here: http://www.mediafire.com/file/t5f8de46k9xijv1/UE4_Import_Guide.pdf/file

I speak from experience that your tools are fantastic. Having worked with you on Mouseguard as well as a more recent not-to-be-named feature, I can confidently say I am excited to see anything you release. Thanks for sharing and I’m looking forward to checking out future releases!

Thank U so so much!!!

Somebody helpme … How can I use glossiness map in Material Generator? i don’t know how to invert glossiness map to roughness.

To invert a glossiness into roughness, you can either open the texture in photoshop (or gimp, krita, MS paint) and run the invert colors function, or give your gloss map a unique suffix like gloss and replicate the line in the generator next to the red arrow. If the ORM channel is set to gloss, it will automatically invert the gloss map when it creates the orm image

I really wish those download links still worked … was excited to check out the materials :slight_smile:

Maybe a nice work - but I can’t download, because 2GB or less for files to download.

Won’t pay for so many Cloudservers :frowning: