Rama's Extra Blueprint Nodes for UE5, No C++ Required!

Hey thanks for the plugin, i’ve been using it for quite a few years now :smiley:

Could you add “Victory Sound Volume Change”

Why are your colours like that? How can you read the text that way?

Hi ! Thanks for the plugin, saved my skin over a few years now!

I wanted to ask if there is any functions for GConfig?

BTW the download link for the plugin is not working. Clicking continue and the page only refreshes! :frowning:

Oooh that’s a good one, I will do that soon!


I tested the link in the original post and it is working for me, can you be more specific about which link you are trying?

Yes the config var functions got added! Hee hee!

//~~~~~~~~~~~~~~~~~
	// Config Vars
	//~~~~~~~~~~~~~~~~~
	/** Get Custom Config Var! These are stored in Saved/Config/Windows/Game.ini */
	//UFUNCTION(BlueprintPure, Category = "Victory BP Library|Custom Config Vars!")
	//static uint8 Victory_ConvertStringToByte(UEnum* Enum,FString String);
	//! not working yet, always getting 255

	/** Get Custom Config Var! These are stored in Saved/Config/Windows/Game.ini */
	UFUNCTION(BlueprintPure, Category = "Victory BP Library|Custom Config Vars")
	static bool VictoryGetCustomConfigVar_Bool(FString SectionName, FString VariableName, bool& IsValid);

	/** Get Custom Config Var! These are stored in Saved/Config/Windows/Game.ini */
	UFUNCTION(BlueprintPure, Category = "Victory BP Library|Custom Config Vars")
	static int32 VictoryGetCustomConfigVar_Int(FString SectionName, FString VariableName, bool& IsValid);

	/** Get Custom Config Var! These are stored in Saved/Config/Windows/Game.ini */
	UFUNCTION(BlueprintPure, Category = "Victory BP Library|Custom Config Vars")
	static float VictoryGetCustomConfigVar_Float(FString SectionName, FString VariableName, bool& IsValid);

	/** Get Custom Config Var! These are stored in Saved/Config/Windows/Game.ini */
	UFUNCTION(BlueprintPure, Category = "Victory BP Library|Custom Config Vars")
	static FVector VictoryGetCustomConfigVar_Vector(FString SectionName, FString VariableName, bool& IsValid);

	/** Get Custom Config Var! These are stored in Saved/Config/Windows/Game.ini */
	UFUNCTION(BlueprintPure, Category = "Victory BP Library|Custom Config Vars")
	static FRotator VictoryGetCustomConfigVar_Rotator(FString SectionName, FString VariableName, bool& IsValid);

	/** Get Custom Config Var! These are stored in Saved/Config/Windows/Game.ini */
	UFUNCTION(BlueprintPure, Category = "Victory BP Library|Custom Config Vars")
	static FLinearColor VictoryGetCustomConfigVar_Color(FString SectionName, FString VariableName, bool& IsValid);

	/** Get Custom Config Var! These are stored in Saved/Config/Windows/Game.ini */
	UFUNCTION(BlueprintPure, Category = "Victory BP Library|Custom Config Vars")
	static FString VictoryGetCustomConfigVar_String(FString SectionName, FString VariableName, bool& IsValid);

	UFUNCTION(BlueprintPure, Category = "Victory BP Library|Custom Config Vars")
	static FVector2D VictoryGetCustomConfigVar_Vector2D(FString SectionName, FString VariableName, bool& IsValid);

	//~~~~~~~~~~~~~~~~~~~~

	/** Set Custom Config Var! These are stored in Saved/Config/Windows/Game.ini */
	UFUNCTION(BlueprintCallable, Category = "Victory BP Library|Custom Config Vars")
	static void VictorySetCustomConfigVar_Vector2D(FString SectionName, FString VariableName, FVector2D Value);

	/** Set Custom Config Var! These are stored in Saved/Config/Windows/Game.ini */
	UFUNCTION(BlueprintCallable, Category = "Victory BP Library|Custom Config Vars")
	static void VictorySetCustomConfigVar_Bool(FString SectionName, FString VariableName, bool Value);

	/** Set Custom Config Var! These are stored in Saved/Config/Windows/Game.ini */
	UFUNCTION(BlueprintCallable, Category = "Victory BP Library|Custom Config Vars")
	static void VictorySetCustomConfigVar_Int(FString SectionName, FString VariableName, int32 Value);

	/** Set Custom Config Var! These are stored in Saved/Config/Windows/Game.ini */
	UFUNCTION(BlueprintCallable, Category = "Victory BP Library|Custom Config Vars")
		static void VictorySetCustomConfigVar_Float(FString SectionName, FString VariableName, float Value);

	/** Set Custom Config Var! These are stored in Saved/Config/Windows/Game.ini */
	UFUNCTION(BlueprintCallable, Category = "Victory BP Library|Custom Config Vars")
	static void VictorySetCustomConfigVar_Vector(FString SectionName, FString VariableName, FVector Value);

	/** Set Custom Config Var! These are stored in Saved/Config/Windows/Game.ini */
	UFUNCTION(BlueprintCallable, Category = "Victory BP Library|Custom Config Vars")
	static void VictorySetCustomConfigVar_Rotator(FString SectionName, FString VariableName, FRotator Value);

	/** Set Custom Config Var! These are stored in Saved/Config/Windows/Game.ini */
	UFUNCTION(BlueprintCallable, Category = "Victory BP Library|Custom Config Vars")
	static void VictorySetCustomConfigVar_Color(FString SectionName, FString VariableName, FLinearColor Value);


	/** Set Custom Config Var! These are stored in Saved/Config/Windows/Game.ini */
	UFUNCTION(BlueprintCallable, Category = "Victory BP Library|Custom Config Vars")
	static void VictorySetCustomConfigVar_String(FString SectionName, FString VariableName, FString Value);

:heart:

1 Like

Hi !
Thank you for adding the gconfig nodes.
I’m currently packaging in shipping and trying to use your write to config with string, but it’s not working. The settings file in appdata/local/packageprojectname/saved/config/windows/game.ini is not changed and still empty.

Also I’m curious, do you flush these changes so on restart the settings persist?

All regards,
Marius

Hi there!

Do you find the config setup you are using works in development build / editor built, just not in shipping?

An alternative to what you are doing, if you just want to save string information, is this:

//~~~~~~~~~~
	// 	Strings
	//~~~~~~~~~~
	
	/** Saves text to filename of your choosing, make sure include whichever file extension you want in the filename, ex: SelfNotes.txt . Make sure to include the entire file path in the save directory, ex: C:\MyGameDir\BPSavedTextFiles */
	UFUNCTION(BlueprintCallable, Category = "Victory BP Library|File IO")
	static bool FileIO__SaveStringTextToFile(FString SaveDirectory, FString JoyfulFileName, FString SaveText, bool AllowOverWriting = false, bool AllowAppend = false);

	/** Saves multiple Strings to filename of your choosing, with each string on its own line! Make sure include whichever file extension you want in the filename, ex: SelfNotes.txt . Make sure to include the entire file path in the save directory, ex: C:\MyGameDir\BPSavedTextFiles */
	UFUNCTION(BlueprintCallable, Category = "Victory BP Library|File IO")
	static bool FileIO__SaveStringArrayToFile(FString SaveDirectory, FString JoyfulFileName, TArray<FString> SaveText, bool AllowOverWriting = false, bool AllowAppend = false);
	
	/** Loads a text file from hard disk and parses it into a String array, where each entry in the string array is 1 line from the text file. Option to exclude lines that are only whitespace characters or '\n'. Returns the size of the final String Array that was created. Returns false if the file could be loaded from hard disk. */
	UFUNCTION(BlueprintPure, Category = "Victory BP Library|File IO")
	static bool LoadStringArrayFromFile(TArray<FString>& StringArray, int32& ArraySize, FString FullFilePath = "Enter Full File Path", bool ExcludeEmptyLines = false);

	/** Load a text file to a single string that you can use ParseIntoArray on newline characters if you want same format as LoadStringArrayFromFile. This version supports unicode characters! */
	UFUNCTION(BlueprintCallable, Category = "Victory BP Library|File IO")
	static bool LoadStringFromFile(FString& Result, FString FullFilePath = "Enter Full File Path");

The UE5 nodes to get file paths relative to game directory should work in packaged game, I will add nodes that I am absolutely sure will do proper conversion (not giving you the binary path of UE5 editor .exe instead of your project directory)

For those who want the solution to what I am referring to in C++, here it is:

FPaths::ConvertRelativePathToFull(FPaths::ProjectContentDir());

FPaths::ConvertRelativePathToFull ensures that for any of the FPaths:: get directory functions, both editor builds and packaged builds return the proper path.

Again I will add this in a near future update!

:heart:

Hi ! Awesome Plugin! I’ve been using it for a while and also use it to look through to get a better C++ understanding as Im pretty noob :slight_smile:

Is it possible to make a single node that takes in a Anim Montage and then calls a server and Multicast RPC to play it? Basically what I’m doing now in BP is first a server RPC that takes an input of Anim montage that calls a Multicast RPC with the same Montage. This is how I’m currently replicating animation montages with root motion. Im now trying to convert this to C++ to just have one “serverMulticast” node to play it instead.

Basically this converted to one Node.

Hi , First of all, I want to thank you for your excellent plugin!

I’m trying to do something that doesn’t look it’s working fine. I supose that is may fault, because I am not very experienced in Unreal.

What I need is to get the vertices of a model that is imported using Datasmith. As far as I know, every model imported with Datasmith is automatically converted to Static Mesh, so your function should be working, but I am getting always false in the boolean out, and an empty array of vertices.

What I’m doing wrong? I think that maybe this problem is because I’m using Datasmith importer in runtime… but it looks like all the parts are static meshes.

1 Like

hey ,

Could you maybe add a feature to remove IO files from your pc with a node?
That would make it easier to use themthen only being able to create them and load them.

Is the 5.0 version compatible with UE5.1? When I compile the project, I got the following error.
螢幕擷取畫面 2022-11-03 160424

Dear UE Community,

I will upgrade the Victory Plugin to 5.1 within a few days!

Hurricane Ian went directly over my town and some useful aspects of modern infrastructure (like the Internet) are still being restored in my area.

:zap::sparkling_heart::zap:

PS: I never noticed how convenient refrigerators and indoor lighting are…

until going 2 weeks without them!

3 Likes

All the best to you, your family and everyone in your town. Take care!

1 Like

Looking forward to this!
@ Hope everything is well, and you are able to resume your work asap.

all the best!

1 Like

Victory Plugin 5.1

Dear Community,

It’s here!

(All Nodes from 5.0 Are Included, Including the Create Static Mesh From Dynamic Mesh!)
(Geometry Script System → Permanent Static Mesh Works!)

Enjoy!

:heart:

4 Likes

Thanks heaps ! I hope you’re doing okay in the aftermath of the hurricane! <3

1 Like

Thanks ! :+1: :+1: :+1:

Dear Thanks so much for support in my learning. Much love to everyone who experienced the hurricane, hope everyone stays safe.
I am currently suck in my code trying to get blueprint, Real World Time Get Current OSTime, and Save Game Object Get All Save Slot File Names, to work in Unreal 5.0 or 5.1 If you get time to add it I would mean the world <3 I appeciate your kidness you give and have shown to others here <3<3!

1 Like

Hi ,

In your Strings section of the plugin, you have Load and Save strings to txt files with your choice of file extension, Do you have any plans to add a Delete txt file function.

I use the the Load/Save functions for card decks. I would like the option to delete a deck.

I found some code to delete files, but I am not fully sure how to implement it.

Thanks for any help!!!

Here is the code I found

I was able to figure out how to make the function to delete a file using the code above.

Hello! I am trying to get the X and Y coordinates of all pixels with a specified color. I could use your “Victory Get Pixels Array from T2D” node, but it just returns the pixel colors, not coordinates. Is this something you could add or share how it could be done? Thank you!