(39) Rama's Extra Blueprint Nodes for You as a Plugin, No C++ Required!

shiiiiiiit that was fast !
Awesome work as usual Rama.

Rama, I’m currently using a default text file using Notepad in Windows 10 and the “Load String Array from File” function. I’ve tried several variations, but they all get the same result.

And now that I’ve got to use the plugin more, it’s been very helpful. Thanks again!

I have a question. Can I read and write ini file with this? If not can I request to add this function? :slight_smile:

Hi Rama and everyone,
Thanks for your contributions!~
I’m a new programmer of unreal engine. I’m looking forward to ur help.
Due to the need of the project, I have to develop in unreal engine for the goal: we have a external camera(I mean real camera) and it will transmit the real-time image to unreal engine. My primary idea to accomplish it is to create a new class in C++ of unreal project and call the API to return the real time image by camera, then save the picture as a runtime texture variable, then use the blueprint function of Rama’s texture2D to call it and finally draw it to scene. Do u think it’s accessible? Or do you have better idea? Or u know somebody has done similar thing?
Thanks much for your reply~~~

Hey Rama!

First of all, thank you for all you amazing work!

I recently found out about your VictoryEdEngine plugin while looking for a good workflow for instanced static meshes. The ability to convert static meshes to instances back and forth looks absolutely amazing, but unfortunately I can’t get it to work. The plugin appears to be installed correctly. I get the overlay on the top left, as well as the vertex visualization and snapping. Selecting multiple static meshes and pressing i and shift+i, however, doesn’t do anything.

Does this feature still exist in the latest version for UE4.14? Is there something I could be doing wrong?

Hi there!

For everyone, the 4.14 version of Victory Ed Engine is here:

4.14 Victory Ed Engine, Vertex Snapping and Instanced Static Meshes:

(media fire links)

Answer to your question:

Please make sure to follow the mandatory setup step of using my VictoryISM class that is part of Victory Plugin, or your own C++ Instanced Static Mesh actor class, a BP Created class wont work

“First of all, thank you for all you amazing work!”

Hee hee!




You’re welcome!

I created a text file, using this path: c:/tests/Joy.txt

Here’s the text:

Lots of lovely happy joyous text yes yes



It worked just fine, using a for each loop and the Load String Array From File node

I dont know what is peculiar in you case but maybe you could try the text and file location I posted and let me know?

Everything is working fine in my version of 4.14 plugin :slight_smile:

Let me know!


Obtain Animated Vertex Positions of Skeletal Meshes . Characters!

New Download for UE4 4.14 (57mb, Media Fire)

:heart: Please note I now use the UE4 Marketplace C++ Plugin Standard when packaging Victory plugin for you :heart:

  1. Win64 Development
  2. Win64 Shipping **<~~~~~~ NEW!**
  3. Win32 Development
  4. Win32 Shipping
  5. HTML5 Development
  6. HTML5 Shipping **<~~~~~~ NEW!**

Please see my instructions for Packaging UE4 Plugins With Your Game.

**Prior Engine Versions**

**4.12: **

**4.11: **

**4.13: **

Donations can be sent to me via:



Does anyone know why “capture component 2d save image” keeps failing?
I have tried many paths including “c:”

Not the same guy, but I’m running into the same problem. CustomLibraryPlugin is the Options Menu Kit. It seems to implement that aspect of the Victory plugin on its own which is causing compile issues when you try to compile Victory after. I just discovered this and I don’t have a solution beyond don’t use both at the same time I guess.

Both plugins offer rebinding of action keys from my guess the CustomLibraryPlugin probably rips of code from the victory plugin lol, i would recommend changing the blueprint functions to use Rama’s plugin and simply deleting the CustomLibraryPlugin as its not needed.

@Rama can we please get a update for 4.15p1 i can’t seem to recompile it in VS without errors thanks.

Is there any options in this for choosing player starts between levels for easier switching between levels?

Hi Rama,
I DL’d and started trying 4.15.0 preview 2, specifically looking for some specific engine updates that I was waiting on in 4.15. The updates are working. I would like to move my game from 4.14.3 to 4.15.0 but I’m getting a “Plugin missing or incompatable, Missing or incompatable modules in VictoryPlugin plugin - would you like to disable it.”

What I did was
I just wanted the victory plugins not the editor.
I put the Victory Plugin folder at “\4.15\Engine\Plugins\VictoryPlugin”.
The engine loaded but showed the plugin was disabled.
I hit the checkbox to enable it.
Restarted 4.15.0 preview 2
And it brought up the error.

Did I miss a step or does the plugin not work with 4.15 yet?

Thanks for any help

P.S. LOVE the plugins.


Thanks for explaining that swolf!

If any of you see something named joy anything it is quite possibly something I wrote hee hee!

The solution would have to involve C++ modification by the person who wrote the options menu kit to rename the types he uses from my Victory Plugin to avoid name compile issues, please contact the author of that plugin :slight_smile:


Both plugins offer rebinding of action keys from my guess the CustomLibraryPlugin probably rips of code from the victory plugin lol, i would recommend changing the blueprint functions to use Rama's plugin and simply deleting the CustomLibraryPlugin as its not needed.

  @Rama can we please get a update for 4.15p1 i can't seem to recompile it in VS without errors thanks.

Ahh good point, I will download 4.15 preview soon :)


Yes it wont work till I upgrade it cause of C++ changes, will do so soon!

Nice to hear from you!


**Load Texture 2D From File!

JPG, PNG, BMP, ICO, EXR, and ICNS are Supported File Formats !**

With this node you can load a Texture 2D from a file during runtime!

I output for you the width and height of the loaded image!

Now you can easily create Texture 2D’s from image files in Blueprints, during runtime!

Special Note!

Tim Sweeney liked this node!




PS: Make sure to include the file extension when you use this node!

**C++ Code For You**

Here is the core C++ function involved, entire source is in the download! I wrote my own Enum for the file formats.


UTexture2D* UVictoryBPFunctionLibrary::Victory_LoadTexture2D_FromFile(const FString& FullFilePath,EJoyImageFormats ImageFormat, bool& IsValid,int32& Width, int32& Height)
	IsValid = false;
	UTexture2D* LoadedT2D = NULL;
	IImageWrapperModule& ImageWrapperModule = FModuleManager::LoadModuleChecked<IImageWrapperModule>(FName("ImageWrapper"));
	IImageWrapperPtr ImageWrapper = ImageWrapperModule.CreateImageWrapper(GetJoyImageFormat(ImageFormat));
	//Load From File
	TArray<uint8> RawFileData;
	if (!FFileHelper::LoadFileToArray(RawFileData, * FullFilePath)) 
		return NULL;
	//Create T2D!
	if (ImageWrapper.IsValid() && ImageWrapper->SetCompressed(RawFileData.GetData(), RawFileData.Num()))
		const TArray<uint8>* UncompressedBGRA = NULL;
		if (ImageWrapper->GetRaw(ERGBFormat::BGRA, 8, UncompressedBGRA))
			LoadedT2D = UTexture2D::CreateTransient(ImageWrapper->GetWidth(), ImageWrapper->GetHeight(), PF_B8G8R8A8);
			if (!LoadedT2D) 
				return NULL;
			Width = ImageWrapper->GetWidth();
			Height = ImageWrapper->GetHeight();
			void* TextureData = LoadedT2D->PlatformData->Mips[0].BulkData.Lock(LOCK_READ_WRITE);
			FMemory::Memcpy(TextureData, UncompressedBGRA->GetData(), UncompressedBGRA->Num());

	// Success!
	IsValid = true;
	return LoadedT2D;


**Latest plugin download on the UE4 Wiki: (8 mb) **

**Victory Plugin on Media Fire**

If your browser is not updating the Wiki download page to the most recent version, you can use my alternative Media Fire download link!

Please note clicking this link will not start a download instantly, it will just take you to the Media Fire file description.




Thanks Rama for all these great nodes, i was thinking the other day the engine lacks nodes that relating to sublevels and a cool node would be getallactorsonlevel, i think it would be great to be able to save sublevels aswell, for example if a empty sublevel is used for client data only it would make for a nice saving and loading system.

Victory Plugin 4.15 Released!

Dear Community,

I’ve updated my plugin to 4.15 preview 3!




4.15 Build (HTML5, win32, win64, editor, dev packaged, and shipping)

Last 4.14 Build

Thanks Rama :).


I’m quite new to UE4, and I’ve been spending a lot of time with it lately trying to learn. I’ve been trying to install and use the VictoryPlugin for a project I am working on.

I have downloaded the plugin at this link:

I have extracted the folder into this location:
D:\Epic Games\4.14\Engine\Plugins\Runtime

I have verified that in the file named VictoryBPLibrary.uplugin located at
D:\Epic Games\4.14\Engine\Plugins\Runtime\VictoryPlugin
installed is set to true.

I have gone into the project I wish to use this plugin for and enabled use of this plugin.

It prompts me to restart the UE4 engine such that I am able to use the plugin.

When I try to launch my project any time after, it gives me the message,
“Missing or incompatible modules in VictoryBPLibrary plugin - would you like to disable it? You will no longer be able to open any assets created using it.”

I’d really like to use both this plugin but I keep getting this error. Has anyone else had this issue or does anyone know why this is happening?

I have the same problem as Predatoria, but I just put VictoryPlugin folder in My_Project_name\Plugins folder as usual, and I have the same error, “Missing or incompatible modules in VictoryBPLibrary plugin - would you like to disable it? You will no linger be able to open any assets created using it”.

Downloaded from VictoryPlugin16 (The same link as Predatoria)

Best regards, and thanks for a good BP nodes :wink: