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

Get Your / the local player’s IP Address from BP!

BP Node to Get Your Computer’s IP Address!

Dear Community,

I’ve finally succeeded at implementing a node that many have been trying to implement since the Beta!

This is a BP node that gets the IP address of your computer!

My node relies on, a free and easy way to get your current IP address.

Because this node involves an HTTP request I can’t make it a static library node, so I instead made a VictoryPC class that contains only this functionality.

You can easily re-parent your current player controller blueprint to use my plugin VictoryPC class!


and if you are not using a PC already, make sure to go to World Settings and use my VictoryPC as your player controller!

As long as my Victory BP Library is an active plugin for you, then this VictoryPC class will show up!



Now we can all get the IP address of the local computer for use with multiplayer games or webserver activities!




Here’s the setup you should create in your Blueprinted version of my VictoryPC!


**C++ Source Code For You**

Here is the C++ source code I wrote just earlier today!


bool AVictoryPC::VictoryPC_GetMyIP_SendRequest()
	FHttpModule* Http = &FHttpModule::Get();
		return false;
		return false;
	FString TargetHost = "";
	TSharedRef < IHttpRequest > Request = Http->CreateRequest(); 
	Request->SetHeader("User-Agent", "VictoryBPLibrary/1.0");
	Request->SetHeader("Content-Type" ,"text/html");
	Request->OnProcessRequestComplete().BindUObject(this, &AVictoryPC::HTTPOnResponseReceived);
	if (!Request->ProcessRequest())
		return false;
	return true;
void AVictoryPC::HTTPOnResponseReceived(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful)


New Download for UE4 4.13 (55mb, 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: **

Donations can be sent to me via:



new release is working like a charm - I had troubles packaging with previous one
I dunno what happened, but am greatly thankful, @Rama :smiley:

the only thing - maybe, it’s time to update plugin’s BP node list at 1st post of the topic?
it would be useful for newcomers like me

Hi Rama!
I might be especially dumb today but I cannot figure how to make ISM editing work for 4.13.
I’ve followed wiki with VictoryEdEngine/DefaultEngine.ini staff but looks like there is outdated version or smf. I have installed VictoryPlugin for 4.13 and cannot see how to SM<->ISM.
I simply need to convert huge amount of SM to ISM

Hi Rama! Thank you for this amazing plugin!!!
I’m using it with UE4.11 for Skeletal mesh with Morph targets. But I can’t receive data from vertices with morphs. Maybe I’m doing something wrong? Could you help me please?
My Graph:

Ahh that’s a good idea :slight_smile:

I will investigate state of ISM editor for 4.13, I thought Epic’s new actor merge feature would replace need for my ISM editor but that doesnt appear to be the case :slight_smile:

Hi there!

The issue is that vertex positions can only be obtained on the game thread for cpu-based manipulations of the vertices, ie, skinned mesh vertex animation using animation assets.

Morph targeting is done by the GPU / render thread, so there is no CPU / game thread position data available (as far as I know).

This means if you really do need the morph targeted position you’d have to switch to a facial bone rig and use that instead, if you have one, those animation adjustments, because they are done via bones and are performed on the cpu by the skeletal/skinned mesh class code, will show up correctly.

If your entire workflow is based around morph targeting then I do not currently know of a way to get those position.

You could get absolute state positions, ie, the static poses of each morph target

And you could theoretically blend between those static poses (vertex positions) if you knew what morphs were in effect (as you surely would since you are applying the morphs)

But there’s no built in way to get the morph target vertex positions that I know of, again since it is performed on the gpu not the cpu.

Again since you know the absolute bounds of each morph target from the static version of the morph in your original art asset, you could export all those static poses and use those vertex positions, blending between them based on the alphas of the applied morphs.


So now that I am thinking about it, it is not that hard, you just have to import each static pose for the face that is a morph target for the skeletal mesh, and get the vertex positions of the static mesh poses and blend between them using series of simple Vector Lerps.

Good luck!



Victory Instanced Static Mesh Editor 4.13

Dear Community,

By popular request I’ve finally restored the Victory ISM Editor functionality in my vertex snap plugin!

I provide you here with an entire project that you can use to understand the setup:

Media Fire ~ Entire functional UE4 Project for 4.13

Overview Of Victory ISM Editor With Videos

The 4.13 Implementation
Basically my Victory ISM editor has to use a C++ based instanced static mesh actor in order to work correctly, as BP-added ISM components dont survive serialization for some reason, but my C++ class does, which is called VictoryISM.

The VictoryISM class is set in project settings -> Victory Ed Engine :slight_smile:

You also have to set in your DefaultEngine.ini that you want to use VictoryEdEngine your extended UnrealEdEngine class

Select a bunch of static mesh actors, and press I in order to merge them, press SHIFT + I to separate them again for editing.

My merging process works with undo/redo feature of UE4 :slight_smile:

My Victory Plugin is included as a runtime plugin that contains the VictoryISM class that will package with the game so that your levels will have the VictoryISM actors in them after packaging.

I had to do it this way because the Victory Ed Engine plugin is an editor only plugin and wont package, so I can’t put the special C++ VictoryISM actor class in the editor only plugin because that class would not be found in packaged games.

You can use any recent version of my Victory Plugin with this setup, I dont plan to change the VictoryISM class any time soon :slight_smile:




Thank you for your answer!
I found other solution (I baked morph as base in external package Blender -> import to UE4 as new character through FBX -> export character from UE as FBX (with pose I need) -> edit in 3ds Max to delete skeleton and use only mesh -> import to UE4 just mesh with applied morph and with my pose).
But now I have other issue. For some reason indices of vertices in your node don’t match to coordinates after some number.
For example, I need track vertex with number 29479. I know that this vertex has next coordinates in OBJ file (x,y,z) 175.9547, 41.1285, 113.0462. But when I look in UE I see other coordinates (see attachment). Zeroes for “Get Static Mesh Vertex Locations” and completely different coordinates for “Animated Vertex Get Animated Vertex Locations”.
But if I compare first 10 vertices, they are completely the same as in OBJ file.
Why this happens?

Hi rama,
Thanks for your great works,
I want to know is it possible to load a mp3 sound files into engine in runtime ? something like you did to load texture during runtime

Hi Rama,
thanks for your contribution to the unreal community!
i’m currently using Victory Plugin 4.11 with Unreal Engine 4.11.2 version.
I followed your instructions about how install the plugin, copying the Victory Plugin content under the Engine/Plugins/Runtime folder but i’m facing some issues with Shipping packaging (both 32/64) as when i try to launch the game exe as shown in the screenshots below that error message appears.
To get the package to work i have to use the exe file under “MyProject\Binaries\Win32/64” but only after renaming it by removing the suffix “-Win32/64-Shipping”
Is this normal or am i missing something?

You can load an audio file with the plugin but it has to be an ogg file - probably because it’s an open format.

Rama if you ever have time, id like to talk to you about a commission to creating private blueprints or a plugin for me, if that is possible

Congratulations on your progress! Yay!

The way that an OBJ stores data, an FBX, and the way that UE4 stores imported vertex data are very likely all different :slight_smile:

You’d really want to do a readout from within UE4 using one method, and stick to that method, but I imagine there’s some reason you want to examine the index alignments pre-UE4?

It’s very nice to hear from you @Dannington !

Vahid, its an interesting concept, but it’s getting kind of close to the UE4 EULA barrier about not making a packaged game that has editor-capabilities that replace your end-user / potential developer’s need for UE4, in my opinion.

Any time you are importing assets at runtime from external file formats the way UE4 would, you need to dearly consider the UE4 EULA, and consider making a mod or content pak instead :slight_smile:



You’re welcome!

Ahm, it’s definitely not normal, but I don’t quite know why this is your experience. When I package from within UE4 and end up with a packaged game, it just sort of… runs :slight_smile: So I am not yet sure what the difference is.

Your workaround is actually the most peculiar part, but I am glad you figured out a solution, that’s amazing!

I will have to investigate as time permits, but please keep me posted if your workaround breaks at any point :slight_smile:


I pm’ed you :slight_smile:


Hi Rama, thanks for your answer!

I’ve done some more tests and these are the results

  • I’ve tried, with a different computer, the same installation process described in my previous post but the same behaviour still occurs: if packaged for Shipping 32 or 64 that error appears when launching the exe file in the root folder and, to solve this i have to use the workaround. Packaging for development instead doesn’t have any kind of problem.

  • I’ve also tried with a clean windows 10 installation on my main computer but the problem persists

  • Finally, using the same steps used to install the 4.11 plugin version, i made some tests with the 4.12 plugin version and, no problem occurred. This should mean that i follow the instruction correctly and that the problem may be in the 4.11 plugin version itself, what do you think?

More details about my setup:

The 4.11 plugin version i’ve downloaded is this one:
Can you confirm that it is the most up to date plugin version for 4.11.2 Engine?

I’ve Visual Studio 2015 Community installed

**The workaround seems to have no limitations at all but i would prefer to have a proper .exe file in my root folder if possible!
Anyway thanks for your support and keep up the good work! **

here two screenshots, one for the plugin installation folder and one with my package settings**

I’m having a small issue with the fullscreen nodes. I’m trying to force regular fullscreen, but “PreferredFullscreenMode=1” is always saved to GameUserSettings.ini instead of Mode=0. Any advice? :eek:


Dear Community,

For the benefit of all you lovely VR enthusiasts who have more than one VR headset that you are testing with, I present to you a BP node to let you know which type of headset is currently hooked up to the computer!

Please keep in mind that I’ve added my own addition, which is the None option, this can happen if you don’t have any device hooked up and could help with debugging, especially in packaged games.


**New Download for UE4 4.13 (55mb, Media Fire)**

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

1. Win64 Development
2. Win64 Shipping  **&lt;~~~~~~ NEW!**
3. Win32 Development
4. Win32 Shipping
4. HTML5 Development
5. HTML5 Shipping **&lt;~~~~~~ NEW!**

Please see my instructions for [Packaging UE4 Plugins With Your Game](!&p=476476&viewfull=1#post476476).

Prior Engine Versions

**4.12: **

**4.11: **

**Donations can be sent to me via:**




Dear Community,

A reminder of these extremely powerful nodes to help you access the directory structure of your game after it has been packaged and put wherever by your user!

Victory Absolute Paths!
Live as of March 3rd 2015 build

Get the File Path to your project .exe, your project root directory, and more!

These paths are dynamically updated even if you move the entire project to a new location on your computer!

All these nodes are fully compatible with packaged builds and return absolute paths!

These nodes also work in Development/Editor builds!

**More Power For You in BP**

Now you can easily create your own folders/files, relative to the project root directory or your project's .exe!

Please note that in editor builds, the .exe returns your UE4Editor.exe location, but in packaged games it returns your game's .exe



I recommend using the Project Game directory for most of your relative path needs! This works the same in Editor and packaged builds!

You can also get your Saved and Logs folders for your project in both packaged and editor builds!

**New Download for UE4 4.13 (55mb, Media Fire)**

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

1. Win64 Development
2. Win64 Shipping  **&lt;~~~~~~ NEW!**
3. Win32 Development
4. Win32 Shipping
4. HTML5 Development
5. HTML5 Shipping **&lt;~~~~~~ NEW!**

Please see my instructions for [Packaging UE4 Plugins With Your Game](!&p=476476&viewfull=1#post476476).

Prior Engine Versions

**4.12: **

**4.11: **VictoryPlugin11

**Donations can be sent to me via:**



Hello Rama,
I’m trying your plugin for the first time because I need to be able get pixel color from a texture.
However I only get it to work if I use your load texture nodes that require an absolute path. If I use “Victory Get Pixel From T2D” and just select one of my textures from the dropdown menu I get an engine crash and it breaks saying “Color was nullptr.”
Is there some special requirement for the texture2d type to work?

Thank you for this awesome plugin btw :slight_smile:

Hi Rama, any eta for a 4.14 update thanks.

All good ended up rebuilding it for 4.14 P1.

Hi there!

To try and isolate any hardware or other platform issues, can you try the following test:
Load Texture From T2D

Use the AnalogHat texture, engine content, make sure to Show Engine Content if you are not seeing it

The full reference for the asset I am talking about is:


I did this in 4.13 just now and it worked great :slight_smile:


So it sounds like you did the 4.14 upgrade easily? Is there an eta on 4.14 itself? I dont want to transition too soon if most ppl are still using 4.13 :slight_smile: