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

The instanced static mesh editor is amazing. As small issue the instances dissapear if moving the blueprint or setting instancedStaticMesh to static-mobility. Is that known issue or I am doing something wrong? I made own actor class since couldnt find the VictoryISM-class. Using 4.10.4. Wouldnt want the instanced meshes to be moveable mobility (or does that cause much performance hit?).

Edit: Also when reloading level, the instances vanish from the blueprint. I must be doing something wrong or the 4.10.4 have some strangeness.

Edit2: Got it working now. Hadnt the victory plugin installed right. Combined newest link with 4.10 compatible files. Got rid of all my issues. :slight_smile: Massive thanks for this.

Now noticed the instance culling values have no effect in instanced static mesh editor. The more mesh types I convert, the more overall FPS drops. Is there some workaround for that?

Edit: Seems like its engine build related. Made a ticket: Instance Cull Distance dont work [With Repro] - Asset Creation - Unreal Engine Forums

Edit2: Nevermind - that wasnt bug. Just will use the instances more locally then. Very excited to see the results. :slight_smile:

Is there anyway of getting the plugin to work without that hot key script lines to be added to the projects .ini file?
I just want to use the ‘I’ command to join the meshes together, but adding that hot key line to the .ini file crashes it every time

Sorry to keep spamming this forum, I’m not getting any help in the UE4 Answer Hub as a few others have asked the same question.
I’m having serious trouble getting the Vertex Snap Editor Plugin with the Rama VictoryPlugin.
I have just updated to the latest preview version 4.11.0 Preview 6

Step 1) I’ve downloaded the latest VictoryPlugin from link posted above - VictoryPlugin16
Step 2) Extracted it into the folder …\Epic Games\4.11\Engine\Plugins\Runtime\VictoryPlugin
Step 3) Started a new Project and made sure the Rama VictoryPlugin is turned on
Step 4) Downloaded the Vertex Snap Editor Plugin from A new, community-hosted Unreal Engine Wiki - Announcements and Releases - Unreal Engine Forums
Version 03:39, 22 December 2015
Step 5) Extracted it into the folder …\Epic Games\4.11\Engine\Plugins\Runtime\VictoryEdEngine
Step 6) Loaded up my project and ticked the VictoryEdEngine plugin on
Step 7) Added the code to projects DefaultEngine.ini file
Running the Project I get the error message

So I remove the code from the .ini file and I get this instead

If I click No I get this

and then it doesn’t load, just does nothing…
I’m at my end of trying things, I have no idea what I’m doing wrong? :frowning:

Hi Rama,

I’m using the ISM plugin and I also have the blueprint library installed. The ISM is fantastic, and greatly needed for my project. This is a brilliant tool, but one thing that I have found frustrating is that, when I select some static meshes and press “i”, the ISM’s that appear in the World Outliner can’t be copy/pasted, so I have to keep un-instancing them (“shift+i”) in order to duplicate modular pieces. I don’t know if its possible, but it’d be really helpful if the ISMs that are created can be copy/pasted, and even better if they were somehow written to the content browser so they looked and behaved like regular blueprints. Anyway, thanks for the tool, and do let me know if these things are available in later builds (I’m using ones from December with Ue4 v 4.10).

You dont include these lines for victory plugin, this will crash your engine because you are trying to include VictoryEdEngine which is not part of the Victory BP Library any more.

Sorry for the confusion, its becuase at one time VictoryEdEngine was part of Victory BP Library and now it isn’t, it is a separate download here:

VictoryEdEngine Download

You can skip the config step entirely if you just want Victory BP Library


The VictoryEdEngine has not yet been updated to 4.11, because 4.11 is not out yet officially.

When it is I will update to 4.11

So you are getting crash cause you are ahead in engine version :slight_smile:

Easy way to know what current version is, I list it here (now):


Hey Rama,

i'm using your rebindable key source code section for my project, obvious you will be credited, thank for your awesome work :)

Yaaay! I am glad to hear that!

You’re welcome!

Hi Rama, 

I'm using the ISM plugin and I also have the blueprint library installed.  The ISM is fantastic, and greatly needed for my project. .... when I select some static meshes and press "i", the ISM's that appear in the World Outliner can't be copy/pasted

When I upgrade VictoryEdEngine to 4.11 I can check this out in greater depth! If I forget do remind me 



hi Rama! First of all your plugin is simply amazing, im loving it! I was wondering one thing, would it be possible for you to create a node that act like the “open Level” node, but without freezing the rendering, so people could draw their animated loading screen then it would not become frozen during the loading? Thanks for reading. :slight_smile:

ps: I am using level streaming for just that now, and its quite alot of trouble for as little as an animated transition between main menu and the map. It works, but I wish I could keep my maps separated without needing c++ for the loading screen.

Hi there!

Very nice to hear from you!

You can accomplish async loading by doing this

“servertravel mapname”

See pic!

I used one of my BP nodes that generates a space between string entries



New BP Node ~ Get Actor Time In Play! How long has it been since this actor was created?

Dear UE4 Community,

In this latest node release I am giving you built in easy way to know how long an actor has been alive, since the time it was spawned!

This node does not cause any extra load on UE4, I am simply dynamically calculating the time based on the actor’s creation time, relative to Get World Time Seconds.

New Download (28mb, Media Fire)

Please note my downloads also include these packaged binaries:

  1. Win64 Development
  2. Win32 Shipping
  3. HTML5 Development

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

Donations can be sent to me via:



Thank you so much Rama for answering my question :slight_smile: Love your work by the way.
Another quick question, I’ve yet to use the Vertex plugin, I’m looking at it for the combine meshes instance ability.
Is it similar to the one in testing “merge actors” in the UE4 currently?
I’m having problems with that as it loses the collision box and overlaps the UVs on merge.

wow, thanks for the fast reply! :slight_smile: is this making a difference from the node “server travel”? because either way, my loading screen still freeze at some point, its kinda weird…

also what is the node “Rendering UnFreeze Game Rendering” doing? tried to execute it right after the server travel has started, still frozen.

Hi Rama,
First off, this is some amazing stuff! Thank you!

I’m trying to use get mouse position and set mouse position to control the mouse with the gamepad thumb stick and it’s working almost perfectly, except that I can set the position to go beyond the screen edge. And while the mouse stays at the edge, the mouse position is still being updated, so if I want to move the mouse back close to the character than it will take a while until the position gets to a value lower than the screen edge.
So what I’m trying to figure out is a way to stop the set mouse position from setting a value that’s greater than the screen edge, so it won’t go beyond that.

Solve it and it was ridiculously easy: I just needed to place a clamp node for the X and Y to keep the values between 0 and the screen size on X and Y.

Thank you,

Hi Rama! Since the last launcher update I can’t open any project in 4.10 with victory plugin. It says “This project requires the Victory Plugin” I’ve tried moving the plugin into runtime and I’ve tried having it in the project directory but nothing seems to work. When I click on Installed Plugins it says there are no plugins installed under 4.10. I tried on 4.11.6 and 4.11.7 as well.

EDIT: I found out it was trying to call the build tool from 4.11 on 4.10 project. I removed 4.11 completely but whenever I try to open it asks me to rebuild the .dll file. Doing so fails even though the log finishes by saying “Target up to date” and I can rebuild fine in visual studio with no errors but for some reason it always asks to rebuild the .dll

Final: For some reason forcing my project to 4.11 and converting it in place with the new 4.11 version of victorybp solved the issue but I was forced to abandon 4.10 which could be seen as risky to some people with their main project but it works for me!


I have been trying to change the texture on a dynamic material and then set that dynamic material on a 3d model for days now with no luck! I have tried a million combinations using the “Victory Load Texture 2D from File” blueprint but nothing is working.

Basically I want to load a texture from the file system and set it on my mesh/model.

hi rama! I made the mistake to put the plugin inside my project folder instead of inside the engine, now how can I migrate the plugin to the engine without breaking my project? Because I just realised that the plugin folder was 2.8Gb…

edit: ok I found the solution myself by accident. Had to move all my content to another project I have created after moving the plugins to the engine and activating them, then remove all content from my old project so the engine would be able to open it without crashing, then export my input settings and all.

Now I got the exact same project as before with no broken references or anything, and wright 147Mb instead of 2.8Gb :slight_smile:

Hey Malcolm, first you can remove the block mesh refs from the create dynamic material nodes - this should make them both just say ‘self’. Most importantly you need to choose a source material in those same nodes where it says ‘source material - select asset’. Also you only need to make this material once. Once you’ve created it and assigned it to a mesh you can go on changing the texture parameter or other values. You also need to make sure you’ve actually made a material with a parameterised texture node (which is the one you select in the create dynamic material node) - I’ve shown how to do that a few posts back.

Good luck, and don’t give up.

Edit: just realised you posted the same image twice - I thought the top one linked to the bottom one and you’d split a long image in two! The answer still applies though.

Thanks for the help! The main issue was the texture parameter was not defined. Can you please take a look at my solution and let me know if it is the optimal one?

Hey Rama, hate to bother you, but which download works with 4.10? I tried the February 6th link to no avail (looks like the .zip doesn’t contain a plugin asset?) Thank you so much for all the crazy work you do on this for the community!

EDIT: I figured it out, it was working but the new editor just organizes the plugins differently so i didn’t see it there nicely filed under “Rama” in the list!

Lovely to hear from you all!

Dear Everyone,

I find the most recent string of posts particularly entertaining, because for each of your questions you later posted that you found the answer!


I am happy to provide what appears to be a thread that is conducive to spontaneous solution-finding :slight_smile:

And thank you to those who are helping others in this thread, like @Dannington!

Also I like it when you folks post questions and then post the answers you found to your own questions, because this still helps others who maybe did not yet figure out the solution!

Lovely to hear from you all!

[FONT=Comic Sans MS]:heart:


BP Node ~ Set Mouse Position, move the OS cursor to any position!

Dear Community,

I was doing some coding on one of my projects and realized anew just how useful Set Mouse Position is!

For those of you who were not aware, one of the nodes in my plugin enables you to SET the position of the OS cursor to any location you want!


Here is the source code!


/** SET the Mouse Position! Returns false if the operation could not occur */
UFUNCTION(BlueprintCallable, Category = "VictoryBPLibrary")
static bool Viewport__SetMousePosition(const APlayerController* ThePC, const float& PosX, const float& PosY);


bool UVictoryBPFunctionLibrary::Viewport__SetMousePosition(const APlayerController* ThePC, const float& PosX, const float& PosY)
	if (!ThePC) return false;
	//Get Player
	const ULocalPlayer * VictoryPlayer = Cast<ULocalPlayer>(ThePC->Player); 
											//PlayerController::Player is UPlayer
	if (!VictoryPlayer) return false;
	//get view port ptr
	const UGameViewportClient * VictoryViewportClient = 
		Cast < UGameViewportClient > (VictoryPlayer->ViewportClient);
	if (!VictoryViewportClient) return false;
	FViewport * VictoryViewport = VictoryViewportClient->Viewport;
	if (!VictoryViewport) return false;
	//Set Mouse
	VictoryViewport->SetMouse(int32(PosX), int32(PosY));
	return true;



PS: Please note that community member @AdrianLazar recently posted his discoveries with SetMousePosition when used with gamepad :slight_smile: