[Tutorial] Pixel and Compute Shaders in UE4

good job :slight_smile:

Hi , are you planning on updating block to 4.13? I naively thought I would be able to, but I’m stuck on a uniform buffer not being properly declared or something. “undeclared identifier PSConstants”.

After replacing some AttachTo() with SetupAttachment() and weirdly renaming PSConstants and PSVariables to PSConstant and PSVariable respectively it works with 4.13.

Wow booniee you just saved my day!! I had totally no idea why the tutorial didn’t work after upgrading to 4.13 before I realized there are some weird naming magic happening.
That being said, I would be really appreciated if could include more comprehensive document about how to create a shader, bind resources a shader, read / write resources, and execute a shader. The rendering APIs look still very mysterious. Thanks!:o

Booniee is the man!
Thanks :slight_smile:

I’m planning to expand tutorial set to include material integration tutorials. I’m not sure when I feel ready to upload it though, a lot of other stuff going on atm ^^;

/

I can’t get the project to work in either 4.12 or 4.13. The blocks just end up being colored black. In addition, the character can’t move or jump, although the character can look around and shoot. I put in breakpoints and seems like all the events are firing, so I’m not sure what the is. Do you think you could release an updated project? It seems like lots of the assets are incompatible as well. It’d be great if you could post a more in depth and updated tutorial! Also, will these custom shaders work on mobile devices?

Thanks for ! I’m trying to figure out how some of the magic works. Can you elaborate on how the RenderTargets work in the pipeline?

  • At which stage of the pipeline are you inserting demo shader?
  • How can I set the render target to be the camera’s color buffer (and other buffers)? (so I can have a fullscreen effect at a certain stage of the pipeline)
    Replacing CurrentTexture with FSceneRenderTargets.GetSceneColor()->GetRenderTargetItem().TargetableTexture; I don’t see the screen changing at all, the DrawPrimitiveUP is still somehow writing to some hidden render target texture.

If you’re having trouble porting it to the latest version, check out the existing Forks of project, a few others have already ported it: https://github.com//UE4ShaderPluginDemo/network

is really crippling. It takes 2 minutes to “recompile” a shader, because you have to close and re-open the engine and recompile the shaders.
Compare with near instant shader compilation in every other tool/engine/framework I can imagine.

Change 1 line, wait 2 minutes and repeat… :<

Epic’s engine architecture has gotten pretty archaic, and more blueprints won’t fix it.

Hallo there!
I missed followup!

I’ve been working on another quite large plugin for the community, so I haven’t been checking the forum :<.
In regards to my earlier statements about upgrading the sample, I’m still thinking about it, but I there is a lot of stuff I would want to do, and I’m not sure when I would have the time to.

Regarding your questions:

  • At which stage of the pipeline are you inserting demo shader?

> So there are a lot of different ways to insert a shader into the engine. The demo I made is using the simplest way (the ENQUEUE_RENDER_COMMAND). Like the name suggests, simply puts the command in a message pump queue and will be serviced as soon as the engine can. The deferred renderer regularly services queue, which is nice, but since it does it checks the queue like 20-30 times every frame it is unfortunately not very deterministic, so if you want to integrate with engine rendering in some way, then is not the way to go. There are other ways to integrate though!
The second way is about as easy as the render command queue and is accessed through the IRenderer module interface. You can find a delegate event here that like its name suggests will trigger after opaque rendering is done.
You hook onto it much like any other delegate. It doesn’t have a matching unregister function though, so make sure to store your delegate so you can unbind later:



	RenderDelegate = FPostOpaqueRenderDelegate::CreateRaw(, &MyFancyRenderingClass::RenderCallback);
	IRendererModule* RendererModule = FModuleManager::GetModulePtr<IRendererModule>(FName("Renderer"));
	RendererModule->RegisterPostOpaqueRenderDelegate(RenderDelegate);


The third way to access rendering functionality in the engine is a lot more complex and involves integrating with the material system (render proxies, vertex factories etc. etc.). I can’t simply post code here to elaborate, but is something I would like to put into my upgraded tutorial whenever I get around to it!

  • How can I set the render target to be the camera’s color buffer (and other buffers)? (so I can have a fullscreen effect at a certain stage of the pipeline)
    Essentially what you suggested would work, but you need to do it at a deterministic entry point. So you cannot run it from ENQUEUE_RENDER_COMMAND if that is your goal.

When it comes to recompiling shaders, you can recompile usf shaders very easily by just issuing the console command “RecompileShaders Changed”.
Now, if you mean the Cpp parts of the shaders, then yes, that is a lot harder. I have talked to some Epic rendering engineers about , and it is essentially because part of the shader Cpp definitions are statically linked into the rendering module when you compile the engine. They know that it’s not ideal, but that type of iteration was not a design goal at the time. There is also the problem of plugins not being easily hotreloaded (they can be under some circumstances if I understand correctly, but in general they are not.)

They did say that it would not be impossible to fix, but I got the impression that it’s not a priority :slight_smile:
Some possible fixes could include an option to recompile and hotreload the rendering module and it’s dependencies, or creating a sideloading system to allow for both types of shader definition.
Hopefully we will get a good solution eventually.

I hope info was of some use to someone.

Best regards,

Awesome and taught me alot ! Thanks !

thanks for teaching me a lot.

FComputeShaderDeclaration not found on Mac OS (El Capitan), UE4.14

I just tried the Shader Plugin Demo on Mac OS El Capitan with 4.14. I got an exception, as listed below, after hitting Alt+P to start Play In Editor.
Any clues? Did I forget any registration?
I modified all uplugin to have 4.14 as associated engine. Generated XcodeWorkspace files and compiled the whole thing.


[407]LogBlueprintUserMessages: Late PlayInEditor Detection: Level '/Game/ShaderTest/M_Test.M_Test:PersistentLevel' has LevelScriptBlueprint '/Game/ShaderTest/M_Test.M_Test:PersistentLevel.M_Test' with GeneratedClass '/Game/ShaderTest/M_Test.M_Test_C' with ClassGeneratedBy '/Game/ShaderTest/M_Test.M_Test:PersistentLevel.M_Test'
Assertion failed: ShaderRef != NULL && *ShaderRef != nullptr [File:Runtime/ShaderCore/Public/Shader.h] [Line: 1416] 
**Failed to find shader type FComputeShaderDeclaration**
UE4Editor-ComputeShader.dylib was compiled with optimization - stepping may behave oddly; variables may not be available.


is what’s relevant on the call stack, I think:



#0	0x000000012c015dca in FShaderType::GetName() const [inlined] at /Users/patric/Code/UnrealEngine/Engine/Source/Runtime/ShaderCore/Public/Shader.h:864
#1	0x000000012c015dca in FComputeShaderDeclaration* TShaderMap<FGlobalShaderType>::GetShader<FComputeShaderDeclaration>() const at /Users/patric/Code/UnrealEngine/Engine/Source/Runtime/ShaderCore/Public/Shader.h:1416
#2	0x000000012c010d5d in TShaderMapRef<FComputeShaderDeclaration>::TShaderMapRef(TShaderMap<FGlobalShaderType> const*) [inlined] at /Users/patric/Code/UnrealEngine/Engine/Source/Runtime/ShaderCore/Public/Shader.h:1846
#3	0x000000012c010d55 in TShaderMapRef<FComputeShaderDeclaration>::TShaderMapRef(TShaderMap<FGlobalShaderType> const*) [inlined] at /Users/patric/Code/UnrealEngine/Engine/Source/Runtime/ShaderCore/Public/Shader.h:1847
#4	0x000000012c010d55 in FComputeShaderUsageExample::ExecuteComputeShaderInternal() at /Users/patric/Documents/Unreal Projects/UE4ShaderPluginDemo/Plugins/ComputeShader/Source/Private/ComputeShaderUsageExample.cpp:98
#5	0x000000012c015410 in FComputeShaderUsageExample::ExecuteComputeShader(float)::EURCMacro_FComputeShaderRunner::DoTask(ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&) [inlined] at /Users/patric/Documents/Unreal Projects/UE4ShaderPluginDemo/Plugins/ComputeShader/Source/Private/ComputeShaderUsageExample.cpp:70
#6	0x000000012c015401 in TGraphTask<FComputeShaderUsageExample::ExecuteComputeShader(float)::EURCMacro_FComputeShaderRunner>::ExecuteTask(TArray<FBaseGraphTask*, FDefaultAllocator>&, ENamedThreads::Type) at /Users/patric/Code/UnrealEngine/Engine/Source/Runtime/Core/Public/Async/TaskGraphInterfaces.h:868


What I observe in frame #1 is



	const TShaderMap<FGlobalShaderType> *	NULL	
ShaderRef	const TRefCountPtr<FShader> *	NULL	


which is initiated from frame #4.

The full log:


LogInit:Display: Running engine for game: ShaderPluginDemo
LogPlatformFile: Not using cached read wrapper
LogInit:Display: RandInit(-207234934) SRandInit(-207234897).
LogTaskGraph: Started task graph with 5 named threads and 6 total threads with 1 sets of task threads.
LogStats: Stats thread started at 0.274729
LogPluginManager: Loaded Plugin Paper2D, From /Users/patric/Code/UnrealEngine/Engine/Plugins/2D/Paper2D/Paper2D.uplugin
LogPluginManager: Loaded Plugin LightPropagationVolume, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Blendables/LightPropagationVolume/LightPropagationVolume.uplugin
LogPluginManager: Loaded Plugin BlankPlugin, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Developer/BlankPlugin/BlankPlugin.uplugin
LogPluginManager: Loaded Plugin CodeLiteSourceCodeAccess, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Developer/CodeLiteSourceCodeAccess/CodeLiteSourceCodeAccess.uplugin
LogPluginManager: Loaded Plugin GitSourceControl, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Developer/GitSourceControl/GitSourceControl.uplugin
LogPluginManager: Loaded Plugin KDevelopSourceCodeAccess, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Developer/KDevelopSourceCodeAccess/KDevelopSourceCodeAccess.uplugin
LogPluginManager: Loaded Plugin NullSourceCodeAccess, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Developer/NullSourceCodeAccess/NullSourceCodeAccess.uplugin
LogPluginManager: Loaded Plugin OneSkyLocalizationService, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Developer/OneSkyLocalizationService/OneSkyLocalizationService.uplugin
LogPluginManager: Loaded Plugin PerforceSourceControl, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Developer/PerforceSourceControl/PerforceSourceControl.uplugin
LogPluginManager: Loaded Plugin SubversionSourceControl, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Developer/SubversionSourceControl/SubversionSourceControl.uplugin
LogPluginManager: Loaded Plugin UObjectPlugin, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Developer/UObjectPlugin/UObjectPlugin.uplugin
LogPluginManager: Loaded Plugin VisualStudioSourceCodeAccess, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Developer/VisualStudioSourceCodeAccess/VisualStudioSourceCodeAccess.uplugin
LogPluginManager: Loaded Plugin XCodeSourceCodeAccess, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Developer/XCodeSourceCodeAccess/XCodeSourceCodeAccess.uplugin
LogPluginManager: Loaded Plugin AudioCapture, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Editor/AudioCapture/AudioCapture.uplugin
LogPluginManager: Loaded Plugin EpicSurvey, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Editor/EpicSurvey/EpicSurvey.uplugin
LogPluginManager: Loaded Plugin MacGraphicsSwitching, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Editor/MacGraphicsSwitching/MacGraphicsSwitching.uplugin
LogPluginManager: Loaded Plugin MobileLauncherProfileWizard, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Editor/MobileLauncherProfileWizard/MobileLauncherProfileWizard.uplugin
LogPluginManager: Loaded Plugin PluginBrowser, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Editor/PluginBrowser/PluginBrowser.uplugin
LogPluginManager: Loaded Plugin SpeedTreeImporter, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Editor/SpeedTreeImporter/SpeedTreeImporter.uplugin
LogPluginManager: Loaded Plugin SuperSearchEditor, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Editor/SuperSearchEditor/SuperSearchEditor.uplugin
LogPluginManager: Loaded Plugin AlembicImporter, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Experimental/AlembicImporter/AlembicImporter.uplugin
LogPluginManager: Loaded Plugin BlueprintStats, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Experimental/BlueprintStats/BlueprintStats.uplugin
LogPluginManager: Loaded Plugin CharacterAI, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Experimental/CharacterAI/CharacterAI.uplugin
LogPluginManager: Loaded Plugin CodeEditor, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Experimental/CodeEditor/CodeEditor.uplugin
LogPluginManager: Loaded Plugin CodeView, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Experimental/CodeView/CodeView.uplugin
LogPluginManager: Loaded Plugin HTML5Networking, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Experimental/HTML5Networking/HTML5Networking.uplugin
LogPluginManager: Loaded Plugin OSVR, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Experimental/OSVR/OSVR.uplugin
LogPluginManager: Loaded Plugin Phya, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Experimental/Phya/Phya.uplugin
LogPluginManager: Loaded Plugin SignificanceManager, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Experimental/SignificanceManager/SignificanceManager.uplugin
LogPluginManager: Loaded Plugin SimpleHMD, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Experimental/SimpleHMD/SimpleHMD.uplugin
LogPluginManager: Loaded Plugin StereoPanorama, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Experimental/StereoPanorama/StereoPanorama.uplugin
LogPluginManager: Loaded Plugin StructBox, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Experimental/StructBox/StructBox.uplugin
LogPluginManager: Loaded Plugin AndroidMedia, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Media/AndroidMedia/AndroidMedia.uplugin
LogPluginManager: Loaded Plugin AvfMedia, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Media/AvfMedia/AvfMedia.uplugin
LogPluginManager: Loaded Plugin MediaPlayerEditor, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Media/MediaPlayerEditor/MediaPlayerEditor.uplugin
LogPluginManager: Loaded Plugin WmfMedia, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Media/WmfMedia/WmfMedia.uplugin
LogPluginManager: Loaded Plugin MessagingDebugger, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Messaging/MessagingDebugger/MessagingDebugger.uplugin
LogPluginManager: Loaded Plugin TcpMessaging, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Messaging/TcpMessaging/TcpMessaging.uplugin
LogPluginManager: Loaded Plugin UdpMessaging, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Messaging/UdpMessaging/UdpMessaging.uplugin
LogPluginManager: Loaded Plugin LevelSequenceEditor, From /Users/patric/Code/UnrealEngine/Engine/Plugins/MovieScene/LevelSequenceEditor/LevelSequenceEditor.uplugin
LogPluginManager: Loaded Plugin MatineeToLevelSequence, From /Users/patric/Code/UnrealEngine/Engine/Plugins/MovieScene/MatineeToLevelSequence/MatineeToLevelSequence.uplugin
LogPluginManager: Loaded Plugin NetcodeUnitTest, From /Users/patric/Code/UnrealEngine/Engine/Plugins/NetcodeUnitTest/NetcodeUnitTest/NetcodeUnitTest.uplugin
LogPluginManager: Loaded Plugin NUTUnrealEngine4, From /Users/patric/Code/UnrealEngine/Engine/Plugins/NetcodeUnitTest/NUTUnrealEngine4/NUTUnrealEngine4.uplugin
LogPluginManager: Loaded Plugin OnlineSubsystemGameCircle, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Online/Android/OnlineSubsystemGameCircle/OnlineSubsystemGameCircle.uplugin
LogPluginManager: Loaded Plugin OnlineSubsystemGooglePlay, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Online/Android/OnlineSubsystemGooglePlay/OnlineSubsystemGooglePlay.uplugin
LogPluginManager: Loaded Plugin OnlineSubsystemIOS, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Online/IOS/OnlineSubsystemIOS/OnlineSubsystemIOS.uplugin
LogPluginManager: Loaded Plugin OnlineFramework, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Online/OnlineFramework/OnlineFramework.uplugin
LogPluginManager: Loaded Plugin OnlineSubsystem, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Online/OnlineSubsystem/OnlineSubsystem.uplugin
LogPluginManager: Loaded Plugin OnlineSubsystemAmazon, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Online/OnlineSubsystemAmazon/OnlineSubsystemAmazon.uplugin
LogPluginManager: Loaded Plugin OnlineSubsystemFacebook, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Online/OnlineSubsystemFacebook/OnlineSubsystemFacebook.uplugin
LogPluginManager: Loaded Plugin OnlineSubsystemNull, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Online/OnlineSubsystemNull/OnlineSubsystemNull.uplugin
LogPluginManager: Loaded Plugin OnlineSubsystemOculus, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Online/OnlineSubsystemOculus/OnlineSubsystemOculus.uplugin
LogPluginManager: Loaded Plugin OnlineSubsystemSteam, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Online/OnlineSubsystemSteam/OnlineSubsystemSteam.uplugin
LogPluginManager: Loaded Plugin OnlineSubsystemUtils, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Online/OnlineSubsystemUtils/OnlineSubsystemUtils.uplugin
LogPluginManager: Loaded Plugin IOSTapJoy, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/Advertising/IOSTapJoy/IOSTapJoy.uplugin
LogPluginManager: Loaded Plugin AnalyticsBlueprintLibrary, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/Analytics/AnalyticsBlueprintLibrary/AnalyticsBlueprintLibrary.uplugin
LogPluginManager: Loaded Plugin AnalyticsMulticast, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/Analytics/AnalyticsMulticast/AnalyticsMulticast.uplugin
LogPluginManager: Loaded Plugin Apsalar, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/Analytics/Apsalar/Apsalar.uplugin
LogPluginManager: Loaded Plugin FileLogging, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/Analytics/FileLogging/FileLogging.uplugin
LogPluginManager: Loaded Plugin Flurry, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/Analytics/Flurry/Flurry.uplugin
LogPluginManager: Loaded Plugin AndroidDeviceProfileSelector, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/AndroidDeviceProfileSelector/AndroidDeviceProfileSelector.uplugin
LogPluginManager: Loaded Plugin AndroidMoviePlayer, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/AndroidMoviePlayer/AndroidMoviePlayer.uplugin
LogPluginManager: Loaded Plugin AppleMoviePlayer, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/AppleMoviePlayer/AppleMoviePlayer.uplugin
LogPluginManager: Loaded Plugin ArchVisCharacter, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/ArchVisCharacter/ArchVisCharacter.uplugin
LogPluginManager: Loaded Plugin CableComponent, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/CableComponent/CableComponent.uplugin
LogPluginManager: Loaded Plugin CustomMeshComponent, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/CustomMeshComponent/CustomMeshComponent.uplugin
LogPluginManager: Loaded Plugin ExampleDeviceProfileSelector, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/ExampleDeviceProfileSelector/ExampleDeviceProfileSelector.uplugin
LogPluginManager: Loaded Plugin GearVR, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/GearVR/GearVR.uplugin
LogPluginManager: Loaded Plugin GoogleVRController, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/GoogleVR/GoogleVRController/GoogleVRController.uplugin
LogPluginManager: Loaded Plugin GoogleVRHMD, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/GoogleVR/GoogleVRHMD/GoogleVRHMD.uplugin
LogPluginManager: Loaded Plugin IOSDeviceProfileSelector, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/IOSDeviceProfileSelector/IOSDeviceProfileSelector.uplugin
LogPluginManager: Loaded Plugin LeapMotion, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/LeapMotion/LeapMotion.uplugin
LogPluginManager: Loaded Plugin LinuxDeviceProfileSelector, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/LinuxDeviceProfileSelector/LinuxDeviceProfileSelector.uplugin
LogPluginManager: Loaded Plugin MIDIDevice, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/MIDIDevice/MIDIDevice.uplugin
LogPluginManager: Loaded Plugin MobilePatchingUtils, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/MobilePatchingUtils/MobilePatchingUtils.uplugin
LogPluginManager: Loaded Plugin Ansel, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/Nvidia/Ansel/Ansel.uplugin
LogPluginManager: Loaded Plugin OculusAudio, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/OculusAudio/OculusAudio.uplugin
LogPluginManager: Loaded Plugin OculusInput, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/OculusInput/OculusInput.uplugin
LogPluginManager: Loaded Plugin OculusLibrary, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/OculusLibrary/OculusLibrary.uplugin
LogPluginManager: Loaded Plugin OculusRift, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/OculusRift/OculusRift.uplugin
LogPluginManager: Loaded Plugin Oodle, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/PacketHandlers/CompressionComponents/Oodle/Oodle.uplugin
LogPluginManager: Loaded Plugin ProceduralMeshComponent, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/ProceduralMeshComponent/ProceduralMeshComponent.uplugin
LogPluginManager: Loaded Plugin SoundMod, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/SoundMod/SoundMod.uplugin
LogPluginManager: Loaded Plugin SoundVisualizations, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/SoundVisualizations/SoundVisualizations.uplugin
LogPluginManager: Loaded Plugin SteamController, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/Steam/SteamController/SteamController.uplugin
LogPluginManager: Loaded Plugin SteamVR, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/Steam/SteamVR/SteamVR.uplugin
LogPluginManager: Loaded Plugin TwitchLiveStreaming, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/TwitchLiveStreaming/TwitchLiveStreaming.uplugin
LogPluginManager: Loaded Plugin WebBrowserWidget, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/WebBrowserWidget/WebBrowserWidget.uplugin
LogPluginManager: Loaded Plugin WindowsDeviceProfileSelector, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/WindowsDeviceProfileSelector/WindowsDeviceProfileSelector.uplugin
LogPluginManager: Loaded Plugin WindowsMoviePlayer, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Runtime/WindowsMoviePlayer/WindowsMoviePlayer.uplugin
LogPluginManager: Loaded Plugin ScriptPlugin, From /Users/patric/Code/UnrealEngine/Engine/Plugins/ScriptPlugin/ScriptPlugin.uplugin
LogPluginManager: Loaded Plugin SlateRemote, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Slate/SlateRemote/SlateRemote.uplugin
LogPluginManager: Loaded Plugin EditorTests, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Tests/EditorTests/EditorTests.uplugin
LogPluginManager: Loaded Plugin FbxAutomationTestBuilder, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Tests/FbxAutomationTestBuilder/FbxAutomationTestBuilder.uplugin
LogPluginManager: Loaded Plugin FunctionalTestingEditor, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Tests/FunctionalTestingEditor/FunctionalTestingEditor.uplugin
LogPluginManager: Loaded Plugin RuntimeTests, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Tests/RuntimeTests/RuntimeTests.uplugin
LogPluginManager: Loaded Plugin ScreenshotTools, From /Users/patric/Code/UnrealEngine/Engine/Plugins/Tests/ScreenshotTools/ScreenshotTools.uplugin
LogPluginManager: Loaded Plugin ComputeShader, From /Users/patric/Documents/Unreal Projects/UE4ShaderPluginDemo/Plugins/ComputeShader/ComputeShader.uplugin
LogPluginManager: Loaded Plugin PixelShader, From /Users/patric/Documents/Unreal Projects/UE4ShaderPluginDemo/Plugins/PixelShader/PixelShader.uplugin
LogPluginManager: Loaded Plugin ShaderCopyHelper, From /Users/patric/Documents/Unreal Projects/UE4ShaderPluginDemo/Plugins/ShaderCopyHelper/ShaderCopyHelper.uplugin
LogModuleManager:Warning: No filename provided for module XMPP
LogModuleManager:Warning: ModuleManager: Unable to load module 'XMPP' because the file '/Users/patric/Code/UnrealEngine/Engine/Binaries/Mac/' was not found.
ShaderCopyHelper: Shader Copy Helper Plugin loaded!
ShaderCopyHelper: Copying project shader files to Engine/Shaders/
ShaderCopyHelper: Shader file ../../../../../Documents/Unreal Projects/UE4ShaderPluginDemo/Shaders/ComputeShaderExample.usf copied to ../../../Engine/Shaders/ComputeShaderExample.usf.
ShaderCopyHelper: Shader file ../../../../../Documents/Unreal Projects/UE4ShaderPluginDemo/Shaders/PixelShaderExample.usf copied to ../../../Engine/Shaders/PixelShaderExample.usf.
LogInit: Build: ++UE4+Release-4.14-CL-0
LogInit: Engine Version: 4.14.1-0+++UE4+Release-4.14
LogInit: Compatible Engine Version: 4.14.0-0+++UE4+Release-4.14
LogInit: Net CL: 0
LogDevObjectVersion: Number of dev versions registered: 13
LogDevObjectVersion:   Dev-Blueprints (B0D832E4-1F89-4F0D-ACCF-7EB736FD4AA2): 7
LogDevObjectVersion:   Dev-Build (E1C64328-A22C-4D53-A36C-8E866417BD8C): 0
LogDevObjectVersion:   Dev-Core (375EC13C-06E4-48FB-B500-84F0262A717E): 1
LogDevObjectVersion:   Dev-Editor (E4B068ED-F494-42E9-A231-DA0B2E46BB41): 8
LogDevObjectVersion:   Dev-Framework (CFFC743F-43B0-4480-9391-14DF171D2073): 17
LogDevObjectVersion:   Dev-Mobile (B02B49B5-BB20-44E9-A304-32B752E40360): 0
LogDevObjectVersion:   Dev-Networking (A4E4105C-59A1-49B5-A7C5-40C4547EDFEE): 0
LogDevObjectVersion:   Dev-Online (39C831C9-5AE6-47DC-9A44-9C173E1C8E7C): 0
LogDevObjectVersion:   Dev-Physics (78F01B33-EBEA-4F98-B9B4-84EACCB95AA2): 0
LogDevObjectVersion:   Dev-Platform (6631380F-2D4D-43E0-8009-CF276956A95A): 0
LogDevObjectVersion:   Dev-Rendering (12F88B9F-8875-4AFC-A67C-D90C383ABD29): 12
LogDevObjectVersion:   Dev-Sequencer (7B5AE74C-D270-4C10-A958-57980B212A5A): 1
LogDevObjectVersion:   Dev-VR (D7296918-1DD6-4BDD-9DE2-64A83CC13884): 0
LogInit: Compiled (64-bit): Dec 19 2016 14:40:10
LogInit: Compiled with Clang: 8.0.0 (clang-800.0.42.1)
LogInit: Build Configuration: Development
LogInit: Branch Name: ++UE4+Release-4.14
LogInit: Command line:  -NSDocumentRevisionsDebugMode YES
LogInit: Base directory: /Users/patric/Code/UnrealEngine/Engine/Binaries/Mac/
LogInit: Installed Engine Build: 0
LogInit: Presizing for max 8388607 objects, including 0 objects not considered by GC, pre-allocating 0 bytes for permanent pool.
LogInit: Object subsystem initialized
[2016.12.26-17.20.29:400]  0]LogInit: Selected Device Profile: [Mac]
[2016.12.26-17.20.29:400]  0]LogInit: Applying CVar settings loaded from the selected device profile: [Mac]
[2016.12.26-17.20.29:444]  0]LogInit: Setting Device Profile CVar: [r.AOScatterTileCulling:0]]
[2016.12.26-17.20.29:444]  0]LogInit: Setting Device Profile CVar: [r.DFShadowScatterTileCulling:0]]
[2016.12.26-17.20.29:444]  0]LogInit: Setting Device Profile CVar: [r.Shaders.ZeroInitialise:1]]
[2016.12.26-17.20.29:444]  0]LogInit: Setting Device Profile CVar: [r.Shaders.BoundsChecking:1]]
[2016.12.26-17.20.29:445]  0]LogInit: OS X 10.12.2 (16C68)
[2016.12.26-17.20.29:445]  0]LogInit: Model: MacBookPro11,1
[2016.12.26-17.20.29:445]  0]LogInit: CPU: Intel(R) Core(TM) i7-4558U CPU @ 2.80GHz
[2016.12.26-17.20.29:445]  0]LogInit: CPU Page size=4096, Cores=2, HT=4
[2016.12.26-17.20.29:445]  0]LogInit: Computer: Patrics-MacBook-Pro.local
[2016.12.26-17.20.29:445]  0]LogInit: User: patric
[2016.12.26-17.20.29:445]  0]LogInit: High frequency timer resolution =1000.000000 MHz
[2016.12.26-17.20.29:445]  0]LogInit: Power Source: AC Power
[2016.12.26-17.20.29:445]  0]LogInit: Memory total: Physical=16.0GB (16GB approx) Pagefile=9.0GB Virtual=25.0GB
[2016.12.26-17.20.29:456]  0]LogTextLocalizationManager: No specific translations for ('en-US-SE') exist, so ('en') translations will be used.
*** Recognized (0x63) family*** (20 cols X 12 rows)
[2016.12.26-17.20.30:587]  0]LogMetal:Warning: Metal Shader Model 5 support requires Mac OS X El Capitan 10.11.5 or later & an AMD or Nvidia GPU. Falling back to Metal Shader Model 4.
[2016.12.26-17.20.30:614]  0]LogMetal:Display:     Adapter Name: Intel Iris Graphics
[2016.12.26-17.20.30:614]  0]LogMetal:Display:   Driver Version: AppleIntelHD5000Graphics 10.22.25 (internal:10.22.25.0.0, unified:10.22.25.0.0)
[2016.12.26-17.20.30:614]  0]LogMetal:Display:      Driver Date: 12-13-2016
[2016.12.26-17.20.30:615]  0]LogMetal:Display:           Vendor: Intel
[2016.12.26-17.20.30:615]  0]LogMetal:Display:       Vendor ID: 32902
[2016.12.26-17.20.30:615]  0]LogMetal:Display:       Device ID: 2606
[2016.12.26-17.20.30:615]  0]LogMetal:Display:       VRAM (MB): 1536
[2016.12.26-17.20.30:621]  0]LogIOS:Display: Got a bulk data texture, with 1 mips
[2016.12.26-17.20.30:621]  0]LogIOS:Display: Got a bulk data texture, with 1 mips
[2016.12.26-17.20.30:624]  0]LogShaderCompilers: Guid format shader working directory is 14 characters bigger than the processId version (../../../../../Documents/Unreal Projects/UE4ShaderPluginDemo/Intermediate/Shaders/WorkingDirectory/17404/).
[2016.12.26-17.20.30:624]  0]LogShaderCompilers: Cleaned the shader compiler working directory '../../../../../Documents/Unreal Projects/UE4ShaderPluginDemo/Intermediate/Shaders/tmp/19AC39DFDA49F9E855B23F92463CE5E5/'.
[2016.12.26-17.20.30:624]  0]LogShaderCompilers:Display: Using Local Shader Compiler.
[2016.12.26-17.20.33:409]  0]LogTemp:Display: Loaded TP AllDesktopTargetPlatform
[2016.12.26-17.20.33:493]  0]LogTemp:Display: Loaded TP MacClientTargetPlatform
[2016.12.26-17.20.33:585]  0]LogTemp:Display: Loaded TP MacNoEditorTargetPlatform
[2016.12.26-17.20.33:681]  0]LogTemp:Display: Loaded TP MacServerTargetPlatform
[2016.12.26-17.20.33:735]  0]LogTemp:Display: Loaded TP MacTargetPlatform
[2016.12.26-17.20.33:822]  0]LogTemp:Display: Loaded TP Android_ASTCTargetPlatform
[2016.12.26-17.20.33:909]  0]LogTemp:Display: Loaded TP Android_ATCTargetPlatform
[2016.12.26-17.20.33:995]  0]LogTemp:Display: Loaded TP Android_DXTTargetPlatform
[2016.12.26-17.20.34:071]  0]LogTemp:Display: Loaded TP Android_ETC1TargetPlatform
[2016.12.26-17.20.34:154]  0]LogTemp:Display: Loaded TP Android_ETC2TargetPlatform
[2016.12.26-17.20.34:320]  0]LogTemp:Display: Loaded TP Android_MultiTargetPlatform
[2016.12.26-17.20.34:320]  0]LogTemp:Display: Loaded TP Android_PVRTCTargetPlatform
[2016.12.26-17.20.34:399]  0]LogTemp:Display: Loaded TP AndroidTargetPlatform
[2016.12.26-17.20.34:432]  0]LogTemp:Display: Loaded TP HTML5TargetPlatform
[2016.12.26-17.20.34:560]  0]LogTemp:Display: Loaded TP IOSTargetPlatform
[2016.12.26-17.20.34:649]  0]LogTemp:Display: Loaded TP TVOSTargetPlatform
[2016.12.26-17.20.34:649]  0]LogTargetPlatformManager:Display: Building Assets For Mac
[2016.12.26-17.20.35:053]  0]LogDerivedDataCache:Display: Max Cache Size: 512 MB
[2016.12.26-17.20.35:230]  0]LogDerivedDataCache: Loaded boot cache 0.18s 84MB ../../../../../Documents/Unreal Projects/UE4ShaderPluginDemo/DerivedDataCache/Boot.ddc.
[2016.12.26-17.20.35:231]  0]LogDerivedDataCache:Display: Loaded Boot cache: ../../../../../Documents/Unreal Projects/UE4ShaderPluginDemo/DerivedDataCache/Boot.ddc
[2016.12.26-17.20.35:231]  0]LogDerivedDataCache: FDerivedDataBackendGraph:  Pak pak cache file ../../../../../Documents/Unreal Projects/UE4ShaderPluginDemo/DerivedDataCache/DDC.ddp not found, will not use a pak cache.
[2016.12.26-17.20.35:231]  0]LogDerivedDataCache: Unable to find inner node Pak for hierarchical cache Hierarchy.
[2016.12.26-17.20.35:231]  0]LogDerivedDataCache: FDerivedDataBackendGraph:  EnginePak pak cache file ../../../Engine/DerivedDataCache/DDC.ddp not found, will not use a pak cache.
[2016.12.26-17.20.35:231]  0]LogDerivedDataCache: Unable to find inner node EnginePak for hierarchical cache Hierarchy.
[2016.12.26-17.20.35:232]  0]LogDerivedDataCache: Using Local data cache path ../../../Engine/DerivedDataCache: Writable
[2016.12.26-17.20.35:232]  0]LogDerivedDataCache:Warning: Shared data cache path was not usable, will not use it.
[2016.12.26-17.20.35:233]  0]LogDerivedDataCache: Unable to find inner node Shared for hierarchical cache Hierarchy.
[2016.12.26-17.20.35:552]  0]LogInit: Selected Device Profile: [Mac]
[2016.12.26-17.20.35:558]  0]LogContentStreaming: Texture pool size is 0.00 MB
[2016.12.26-17.20.35:743]  0]LogMeshUtilities: Using QuadricMeshReduction for automatic static mesh reduction
[2016.12.26-17.20.35:749]  0]LogMeshUtilities: No automatic skeletal mesh reduction module available
[2016.12.26-17.20.35:749]  0]LogMeshUtilities: No automatic mesh merging module available
[2016.12.26-17.20.35:750]  0]LogMeshUtilities: No distributed automatic mesh merging module available
[2016.12.26-17.20.36:784]  0]LogNetVersion: GetLocalNetworkVersion: CL: 0, ProjectName: shaderplugindemo, ProjectVersion: , EngineNetworkVersion: 2, GameNetworkVersion: 0, NetworkChecksum: 2426755122
[2016.12.26-17.20.36:802]  0]LogAssetRegistry: FAssetRegistry took 0.0005 seconds to start up
[2016.12.26-17.20.36:836]  0]LogPackageLocalizationCache: Processed 3 localized package path(s) for 2 prioritized culture(s) in 0.031368 seconds
[2016.12.26-17.20.36:848]  0]LogUObjectArray: 32836 objects as part of root set at end of initial load.
[2016.12.26-17.20.36:848]  0]LogUObjectAllocator: 7083544 out of 0 bytes used by permanent object pool.
[2016.12.26-17.20.36:848]  0]LogUObjectArray: CloseDisregardForGC: 0/0 objects in disregard for GC pool
[2016.12.26-17.20.37:142]  0]LogSlate: Using Freetype 2.4.12
[2016.12.26-17.20.37:144]  0]LogSlate: SlateFontCache - WITH_FREETYPE: 1, WITH_HARFBUZZ: 1
[2016.12.26-17.20.37:144]  0]LogSlate: SlateFontCache - WITH_FREETYPE: 1, WITH_HARFBUZZ: 1
[2016.12.26-17.20.38:907]  0]LogMoviePlayer: FAVMoviePlayer ctor...
[2016.12.26-17.20.39:030]  0]LogTcpMessaging: Initializing TcpMessaging bridge
[2016.12.26-17.20.39:073]  0]LogUdpMessaging: Initializing bridge on interface 0.0.0.0:0 to multicast group 230.0.0.1:6666.
[2016.12.26-17.20.39:283]  0]LogMaterial: Uniform references updated for custom material expression Custom.
[2016.12.26-17.20.39:647]  0]SourceControl: Info Source control is disabled
[2016.12.26-17.20.39:694]  0]SourceControl: Info Source control is disabled
[2016.12.26-17.20.39:760]  0]SourceControl: Info Source control is disabled
[2016.12.26-17.20.39:833]  0]SourceControl: Info Source control is disabled
[2016.12.26-17.20.41:033]  0]LogEngine: Initializing Engine...
[2016.12.26-17.20.41:300]  0]LogAIModule: Creating AISystem for world Untitled
[2016.12.26-17.20.41:620]  0]LogInit: FAudioDevice initialized.
[2016.12.26-17.20.41:731]  0]LogDerivedDataCache: Saved boot cache 0.11s 84MB ../../../../../Documents/Unreal Projects/UE4ShaderPluginDemo/DerivedDataCache/Boot.ddc.
[2016.12.26-17.20.41:754]  0]LogInit: Texture streaming: Enabled
[2016.12.26-17.20.42:025]  0]LogDialogs:Warning: Suppressed: For best performance a Quad-core Intel or AMD processor, 2.5 GHz or faster is recommended.
[2016.12.26-17.20.42:026]  0]LogInit: Transaction tracking system initialized
[2016.12.26-17.20.42:199]  0]BlueprintLog: New page: Editor Load
[2016.12.26-17.20.42:861]  0]LocalizationService: Info Localization service is disabled
[2016.12.26-17.20.43:308]  0]LogConsoleResponse:Display: 
[2016.12.26-17.20.43:537]  0]LogCook:Display: Max memory allowance for cook 16384mb min free memory 0mb
[2016.12.26-17.20.43:537]  0]LogCook:Display: Mobile HDR setting 1
[2016.12.26-17.20.44:276]  0]LogFileCache: Scanning file cache for directory '/Users/patric/Documents/Unreal Projects/UE4ShaderPluginDemo/Content/' took 0.00s
[2016.12.26-17.20.44:276]  0]SourceControl: Info Source control is disabled
[2016.12.26-17.20.44:280]  0]Cmd: MAP LOAD FILE="../../../../../Documents/Unreal Projects/UE4ShaderPluginDemo/Content/ShaderTest/M_Test.umap" TEMPLATE=0 SHOWPROGRESS=1 FEATURELEVEL=2
[2016.12.26-17.20.44:282]  0]LightingResults: New page: Lighting Build
[2016.12.26-17.20.44:288]  0]MapCheck: New page: Map Check
[2016.12.26-17.20.44:288]  0]LightingResults: New page: Lighting Build
[2016.12.26-17.20.44:802]  0]LogIOS:Display: Got a bulk data texture, with 1 mips
[2016.12.26-17.20.44:802]  0]LogIOS:Display: Got a bulk data texture, with 1 mips
[2016.12.26-17.20.44:802]  0]LogIOS:Display: Got a bulk data texture, with 1 mips
[2016.12.26-17.20.44:832]  0]LogAIModule: Creating AISystem for world M_Test
[2016.12.26-17.20.44:834]  0]LogActorComponent: RegisterComponentWithWorld: (/Game/ShaderTest/M_Test.M_Test:PersistentLevel.WorldInfo_0.StaticMeshComponent0) Trying to register component with IsPendingKill() == true. Aborting.
[2016.12.26-17.20.44:851]  0]LogEditorServer: Finished looking for orphan Actors (0.000 secs)
[2016.12.26-17.20.44:852]  0]Cmd: MAP CHECKDEP NOCLEARLOG
[2016.12.26-17.20.44:912]  0]MapCheck: Info Map check complete: 0 Error(s), 0 Warning(s), took 59.801ms to complete.
[2016.12.26-17.20.44:913]  0]LogFileHelpers: Loading map 'M_Test' took 0.634
[2016.12.26-17.20.45:032]  0]LogCollectionManager: Loaded 0 collections in 0.002649 seconds
[2016.12.26-17.20.45:051]  0]LogFileCache: Scanning file cache for directory '/Users/patric/Documents/Unreal Projects/UE4ShaderPluginDemo/Saved/Collections/' took 0.00s
[2016.12.26-17.20.45:051]  0]LogFileCache: Scanning file cache for directory '/Users/patric/Documents/Unreal Projects/UE4ShaderPluginDemo/Content/Developers/patric/Collections/' took 0.00s
[2016.12.26-17.20.45:051]  0]LogFileCache: Scanning file cache for directory '/Users/patric/Documents/Unreal Projects/UE4ShaderPluginDemo/Content/Collections/' took 0.00s
[2016.12.26-17.20.45:051]  0]LogContentBrowser: Native class hierarchy populated in 0.0155 seconds. Added 2186 classes and 421 folders.
[2016.12.26-17.20.45:053]  0]LogCollectionManager: Rebuilt the GUID cache for 0 collections in 0.000002 seconds
[2016.12.26-17.20.45:059]  0]LogStats: UGameplayTagsManager::ConstructGameplayTagTree: Construct from data asset -  0.000 s
[2016.12.26-17.20.45:059]  0]LogStats: UGameplayTagsManager::ConstructGameplayTagTree: GameplayTagTreeChangedEvent.Broadcast -  0.000 s
[2016.12.26-17.20.45:062]  0]LogContentBrowser: Native class hierarchy updated for 'GameplayTags' in 0.0024 seconds. Added 13 classes and 0 folders.
[2016.12.26-17.20.45:069]  0]LogContentBrowser: Native class hierarchy updated for 'WidgetCarousel' in 0.0021 seconds. Added 0 classes and 0 folders.
[2016.12.26-17.20.45:181]  0]LogContentBrowser: Native class hierarchy updated for 'AddContentDialog' in 0.0028 seconds. Added 0 classes and 0 folders.
[2016.12.26-17.20.45:187]  0]LogContentBrowser: Native class hierarchy updated for 'SceneOutliner' in 0.0017 seconds. Added 1 classes and 0 folders.
[2016.12.26-17.20.45:241]  0]LogCrashTracker: Crashtracker disabled due to settings.
[2016.12.26-17.20.45:261]  0]LogUObjectGlobals:Warning: Failed to find object 'Class None.'
[2016.12.26-17.20.45:274]  0]LogContentBrowser: Native class hierarchy updated for 'HierarchicalLODOutliner' in 0.0032 seconds. Added 1 classes and 0 folders.
[2016.12.26-17.20.45:274]  0]LogLoad: (Engine Initialization) Total time: 17.79 seconds
[2016.12.26-17.20.45:274]  0]LogLoad: (Engine Initialization) Total Blueprint compile time: 0.13 seconds
[2016.12.26-17.20.45:274]  0]LogExternalProfiler: No external profilers were discovered.  External profiling features will not be available.
[2016.12.26-17.20.45:459]  0]LogContentStreaming: Texture pool size now 1000 MB
[2016.12.26-17.20.45:613]  0]LogRenderer: Reallocating scene render targets to support 736x444 NumSamples 1 (Frame:2).
[2016.12.26-17.20.45:959]  1]LogAssetRegistry: Asset discovery search completed in 9.1575 seconds
[2016.12.26-17.20.45:959]  1]LogCollectionManager: Rebuilt the object cache for 0 collections in 0.000000 seconds (found 0 objects)
[2016.12.26-17.20.45:960]  1]LogCollectionManager: Fixed up redirectors for 0 collections in 0.000064 seconds (updated 0 objects)
[2016.12.26-17.20.51:620][185]LogTemp: Repeting last play command: Selected Viewport
[2016.12.26-17.20.51:673][186]LogBlueprintUserMessages: Early PlayInEditor Detection: Level '/Game/ShaderTest/M_Test.M_Test:PersistentLevel' has LevelScriptBlueprint '/Game/ShaderTest/M_Test.M_Test:PersistentLevel.M_Test' with GeneratedClass '/Game/ShaderTest/M_Test.M_Test_C' with ClassGeneratedBy '/Game/ShaderTest/M_Test.M_Test:PersistentLevel.M_Test'
[2016.12.26-17.20.51:673][186]LogPlayLevel: PlayLevel: No blueprints needed recompiling
[2016.12.26-17.20.51:674][186]PIE: New page: PIE session: M_Test (Dec 26, 2016, 7:20:51 PM)
[2016.12.26-17.20.51:675][186]LogPlayLevel: Creating play world package: /Game/ShaderTest/UEDPIE_0_M_Test
[2016.12.26-17.20.51:732][186]LogPlayLevel: PIE: StaticDuplicateObject took: (0.056796s)
[2016.12.26-17.20.51:733][186]LogAIModule: Creating AISystem for world M_Test
[2016.12.26-17.20.51:733][186]LogPlayLevel: PIE: World Init took: (0.001027s)
[2016.12.26-17.20.51:734][186]LogPlayLevel: PIE: Created PIE world by copying editor world from /Game/ShaderTest/M_Test.M_Test to /Game/ShaderTest/UEDPIE_0_M_Test.M_Test (0.058660s)
[2016.12.26-17.20.51:780][186]LogIOS:Display: Got a bulk data texture, with 1 mips
[2016.12.26-17.20.51:780][186]LogIOS:Display: Got a bulk data texture, with 1 mips
[2016.12.26-17.20.51:780][186]LogIOS:Display: Got a bulk data texture, with 1 mips
[2016.12.26-17.20.51:790][186]LogInit: FAudioDevice initialized.
[2016.12.26-17.20.51:818][186]LogLoad: Game class is 'BP_TestGameMode_C'
[2016.12.26-17.20.51:823][186]LogWorld: Bringing World /Game/ShaderTest/UEDPIE_0_M_Test.M_Test up for play (max tick rate 0) at 2016.12.26-18.20.51
[2016.12.26-17.20.51:824][186]LogWorld: Bringing up level for play took: 0.004086
[2016.12.26-17.20.51:831][186]LogContentBrowser: Native class hierarchy updated for 'MovieSceneCapture' in 0.0030 seconds. Added 11 classes and 0 folders.
[2016.12.26-17.20.51:832][186]LogGameMode:Display: Match State Changed from EnteringMap to WaitingToStart
[2016.12.26-17.20.51:832][186]LogGameState: Match State Changed from EnteringMap to WaitingToStart
[2016.12.26-17.20.51:832][186]LogGameMode:Display: Match State Changed from WaitingToStart to InProgress
[2016.12.26-17.20.51:833][186]LogGameState: Match State Changed from WaitingToStart to InProgress
[2016.12.26-17.20.51:834][186]PIE: Info Play in editor start time for /Game/ShaderTest/UEDPIE_0_M_Test 0.983
[2016.12.26-17.20.51:835][186]LogBlueprintUserMessages: Late PlayInEditor Detection: Level '/Game/ShaderTest/M_Test.M_Test:PersistentLevel' has LevelScriptBlueprint '/Game/ShaderTest/M_Test.M_Test:PersistentLevel.M_Test' with GeneratedClass '/Game/ShaderTest/M_Test.M_Test_C' with ClassGeneratedBy '/Game/ShaderTest/M_Test.M_Test:PersistentLevel.M_Test'
Assertion failed: ShaderRef != NULL && *ShaderRef != nullptr [File:Runtime/ShaderCore/Public/Shader.h] [Line: 1416] 
Failed to find shader type FComputeShaderDeclaration
UE4Editor-ComputeShader.dylib was compiled with optimization - stepping may behave oddly; variables may not be available.
(lldb)

If you need any help please just let us know :slight_smile: there, on github or sth
As I see in the other threads on the forum there are many people struggle finding their way around implementing more advanced shader stuff. For example I AFAIK need to edit the engine even to create tools/API for Post Process shaders like your plugin (which si amazing btw) to be executed in exact order along other in pipeline.
Also we can give you tons of feedback :slight_smile: ex. Unity’s Command Buffers seem to be flexible, usable and have lot of potential as it was already said.

Greetings! Smells like dead thread, but i’ll try it out…
I’am working on procedural universe renderer. At the moment i have some sort of prototype developed under Unity.
Now i’am experimenting with UE4, so i spend some time to keep example project alive.
Working on 4.15p3.
Let me know, if you wanna cooperate.
https://github.com/zameran/UE4ShaderPluginDemo

Hey, zameran!
Pulled and compiled your fork. That’s pretty awesome things you did there.
Shame I spotted it after two months, issues on github or anything that could help?
I am still looking forward to convenient workflow with HLSL.

Wow!

Hey, sp01sh!
Glad to see someone in thread! I have my notification about activity here enabled, so i’ll be always in touch!
Good to know that my work is useful! (or isn’t?)
Let me know, if something wrong with my stuff, cuz i doesn’t have any experience in contributing to another project, so…
But it’s a good idea to keep project alive. I can help, if you want. Just be in touch.

I’ve also enabled thread notification.
No problem, it looks good to me :slight_smile:
I’ll post when, I have some working code to share.

Can’t wait :smiley:
BTW, will it be opensource?

yeah, why not

As an update project works out of the box for me on 4.16.1.

Thanks ! Can’t wait to see if I can get around using Custom nodes by using instead.

Running into performance issues with rendering a Mandelbulb using Volumetric decals due to lack of compiler optimizations, and my shader would be too complicated/annoying to write as a post-process Material from Custom nodes alone.

Does anyone know for a fact if the shaders declared as .usf don’t suffer from the same problem as Custom nodes? It makes sense that they wouldn’t considering that a lot of engine functionality is written into them. Would be nice to know for certain though.