// Copyright Epic Games, Inc. All Rights Reserved.

#include "${MODULE_NAME}.h"

#include "Misc/Paths.h"
#include "Misc/FileHelper.h"
#include "RHI.h"
#include "GlobalShader.h"
#include "RHICommandList.h"
#include "RenderGraphBuilder.h"
#include "RenderTargetPool.h"
#include "Runtime/Core/Public/Modules/ModuleManager.h"
#include "Interfaces/IPluginManager.h"

#define LOCTEXT_NAMESPACE "F${MODULE_NAME}"

void F${MODULE_NAME}::StartupModule()
{
	// This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module

	FString PluginShaderDir = FPaths::Combine(IPluginManager::Get().FindPlugin(TEXT("${PLUGIN_NAME}"))->GetBaseDir(), TEXT("Shaders/${MODULE_NAME}/Private"));
	AddShaderSourceDirectoryMapping(TEXT("/${MODULE_NAME}Shaders"), PluginShaderDir);
}

void F${MODULE_NAME}::ShutdownModule()
{
	// This function may be called during shutdown to clean up your module.  For modules that support dynamic reloading,
	// we call this function before unloading the module.
}

#undef LOCTEXT_NAMESPACE
	
IMPLEMENT_MODULE(F${MODULE_NAME}, ${PLUGIN_NAME})