Skip to content

Instantly share code, notes, and snippets.

View pkucherov's full-sized avatar

Pavel Kucherov pkucherov

  • Rotterdam, Netherlands
View GitHub Profile
@pkucherov
pkucherov / DynamicTexture.cpp
Created March 6, 2024 15:15 — forked from makuto/DynamicTexture.cpp
Procedural/Dynamic Texture System for Unreal Engine 4
//#include "GalavantUnreal.h" // Your game's header file here
#include "DynamicTexture.h"
// See https://wiki.unrealengine.com/Procedural_Materials
struct UpdateTextureRegionsParams
{
UTexture2D* Texture;
int32 MipIndex;
@pkucherov
pkucherov / ForceRebuildUAT.bat
Created October 30, 2022 10:39 — forked from hach-que/ForceRebuildUAT.bat
Scripts to use Gauntlet in Unreal Engine 4 (UE4) - this is for testing a plugin in a host demo project
call "GetMSBuildPath.bat"
cd ../../
%MSBUILD_EXE% /nologo /verbosity:quiet Source\Programs\AutomationTool\Gauntlet\Gauntlet.Automation.csproj /property:Configuration=Development /property:Platform=AnyCPU
@pkucherov
pkucherov / AnimatedImage.cpp
Created December 22, 2021 17:30 — forked from grisevg/AnimatedImage.cpp
UMG Animated Image.
#include "AnimatedImage.h"
void UAnimatedImage::SetCurrentFrame(int32 Frame)
{
CurrentFrame = Frame;
if (CurrentFrame < 0) CurrentFrame = 0;
if (CurrentFrame > TotalFrames - 1) CurrentFrame = TotalFrames - 1;
SynchronizeProperties();
}
@pkucherov
pkucherov / FAsyncQueue.h
Created December 22, 2021 13:41 — forked from grisevg/ FAsyncQueue.h
Utility class for asynchronous/coroutine style programming in UE4 C++
#pragma once
/**
* FAsyncQueue can be used to run asynchronous delegates in sequence, parallel and combinations of the above
*
* Use Add() to enqueue delegates matching FAsyncDelegate signature:
* a void function that accepts a single argument of another void function with no arguments.
*
* Static factories MakeSync, MakeSequence and MakeParallel can be used to wrap different type of delegates and
* delegate collections into a single FAsyncDelegate which can be enqueued with Add().
@pkucherov
pkucherov / integrating-fastbuild-with-ue4.md
Created March 21, 2021 10:51 — forked from hillin/integrating-fastbuild-with-ue4.md
Integrating FASTBuild with Unreal Engine 4

FASTBuild is an open-source distributed build system, which could be a free alternative to Incredibuild. Unreal Engine 4 (UE4) does not support FASTBuild natively, however it's not hard to integrate it manually.

Integrate FASTBuild with UE4

Install FASTBuild

We assume you already have the full UE4 source code. First you'll need to grab the latest FASTBuild tools from here. We use v0.93 Windows x64 version in this tutorial. Download it and extract all the files. Here you have several choices:

  • Place the files under any folder which could be found with your system's PATH environment variable. To see where these folders are, run the PATH command in a command prompt window;
  • Place the files under the Engine\Binaries\ThirdParty\FASTBuild folder of your engine. This is the recommended place;
  • Place the files anywhere you like. This is not recommended because you'll have to hard-code the path later.
@pkucherov
pkucherov / UE4-build.bat
Created January 8, 2021 09:26 — forked from drewsberry/UE4-build.bat
UE4 Windows command line building
:: Build client
RunUAT BuildCookRun -project="full_path.uproject"^
-noP4 -platform=Win64^
-clientconfig=Development -serverconfig=Development^
-cook -allmaps -build -stage^
-pak -archive -archivedirectory="Output Directory"
:: Cook client
RunUAT BuildCookRun -project="full_project_path_and_project_name".uproject^
-noP4 -platform=Win64^
@pkucherov
pkucherov / ue4-json-parsing.cpp
Created October 27, 2020 20:14 — forked from gamerxl/ue4-json-parsing.cpp
How to parse a json response (e.g. a json array) in ue4 c++ context.
#include "Runtime/Online/HTTP/Public/Http.h"
#include "Serialization/JsonSerializer.h"
FHttpResponsePtr Response;
{
// Single json value (any of supported json types e.g.
// object with properties, array, bool) at top level of json
TSharedPtr<FJsonValue> JsonValue;
@pkucherov
pkucherov / async_await_best_practices_cheatsheet.md
Created February 24, 2020 15:51 — forked from jonlabelle/async_await_best_practices_cheatsheet.md
C# Asynchronous Programming Guideline Cheat Sheet

Async Await Best Practices Cheat Sheet

Summary of Asynchronous Programming Guidelines

Name Description Exceptions
Avoid async void Prefer async Task methods over async void methods Event handlers
Async all the way Don't mix blocking and async code Console main method
Configure context Use ConfigureAwait(false) when you can Methods that require con­text
@pkucherov
pkucherov / SSL-certs-OSX.md
Created February 9, 2020 10:54 — forked from croxton/SSL-certs-OSX.md
Generate ssl certificates with Subject Alt Names

Generate ssl certificates with Subject Alt Names on OSX

Open ssl.conf in a text editor.

Edit the domain(s) listed under the [alt_names] section so that they match the local domain name you want to use for your project, e.g.

DNS.1   = my-project.dev

Additional FQDNs can be added if required: