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

Hello Rama,

Hope you are doing well. Just need a little bit help. If I am running parent exe file and want to open external exe file using create process. Is there any command line or any option available that I shouldn’t see black screen and external exe will display when it’s completely loaded. Let me know if you have any clue in mind. Because I have more than 100 application and can’t add loading screen to everyone. So just I want to play only in parent exe file

Regards,

Hi everyone! I’ve installed Rama Victory plugin but run into a strange bug. In the UMG there is no Joy color wheel to drag to the canvas, anybody faced this issue already?

Hi. Am currently trying to change my cube in scene to change the material through the Victory Load Texture 2D from File. Getting true from my string and it says it changes but the material stays absolute the same. Does anyone have a blueprint photo so I may view how you have done this? Can’t seem to wrap my head around the problem and been sitting with it all day.

Hi @Rama

Does the VictoryPaths__SavedDir function get the saved directory in the
Username/AppData/Local/ProjectName/Saved/ folder in a shipping package?

I saw your post from 2014 where a dev (Jamie Dale) said to use
FPlatformProcess::UserDir()

In your library it uses
return FPaths::ConvertRelativePathToFull(FPaths::ProjectSavedDir());

If not is this the correct why to get this directory?
return FPaths::ConvertRelativePathToFull(FPlatformProcess::UserDir());

I figured it out

FString Temp = FPaths::ConvertRelativePathToFull(FPlatformProcess::UserSettingsDir());
Temp.Append(FApp::GetProjectName());
Temp.Append("/Saved/");
return Temp;

Return = C:/Users/UserName/AppData/Local/GameName/Saved/

Has anyone else ran into this error when trying to run a project on an android device (while using a victory node in their project)?

Error: Couldn't find file for package /Script/VictoryBPLibrary requested by async loading code. NameToLoad: /Script/VictoryBPLibrary

I’ve a blank project with a single victory node hooked up and compiled for android, compiles fine but as soon as the victory node is fired (doesn’t matter which node) the game crashes with the above error logged…

Tested with 4.26 and 4.27

I’m getting this same error when attempting to use the Victory Plugin on practically a blank game on an android:
Error: Couldn't find file for package /Script/VictoryBPLibrary requested by async loading code. NameToLoad: /Script/VictoryBPLibrary

What file is this? The error doesn’t even hint at the file type its looking for.

It seems like it’s trying to reference the Victory plugin’s library, how can I have the plugin’s library packaged in the .apk? Do I need an obb with the library? Do I need to have the plugin alongside the .apk??? PLEASE HELP!

On unreal 4.27

How to use in UE5 ?

Just want to say thank you, I was having issues packaging for Quest, as I was getting crashes when a function was being ran. To get it work I had to include '“Android” to the list of whitelist platforms in the .uplugin and commenting out what you suggested,but I also had to comment out the function in the .h aswell as the .cpp

Cheers

1 Like

Hey @Lemur_Hotel . When you did this did you get any other errors? I have commented out the necessary code in the .cpp and the .h and added Android as a whitelisted platform in the .uplugin file but I get this error when packaging for android.

ERROR: Missing precompiled manifest for 'VictoryBPLibrary'. This module was most likely not flagged for being included in a precompiled build - set 'PrecompileForTargets = PrecompileTargetsType.Any;' in VictoryBPLibrary.build.cs to override.

Just wondering if you came across this?

For the record I did add ‘PrecompileForTargets = PrecompileTargetsType.Any’ to the VictoryBPLibrary.build.cs as the error suggests but the error persists.

VictoryBPLibrary.Build.cs (2.0 KB)

Sorry it worked after that. This is what mine looks like.

Here is my entire plugin folder. I put it in the project folder rather than installing it to the engine if that helps.

3 Likes

I can confirm that the plugin worked after I moved it to my project’s Plugins folder, instead of the Engine Plugins folder. Thank You! @Lemur_Hotel :+1:

So for anyone wanting to package the VictoryPlugin for android using UE4.27; use Lemur_Hotel’s Plugin (or make the changes he describes in his previous post) and make sure the plugin is placed in the Plugins folder for your project. it should now compile and run fine.

3 Likes

HI. Thank you for your amazing Plugin.
Im using UE4.26 as current and I want to use your plugin to output some game text. Unfortunatelly I cannot find any actve user guide and documents online. Could you show us where to find the "how to use " page? Im a new in game creat. Sry for my bad English

Sorry about my delay in replying to everyone

I will be back soon!

:sparkling_heart: Love and Joy to You! :sparkling_heart:

And Happy New Year!

2022 is going to be the Most Fun Year For All Of Us

Especially as we keep making Colorful and fun games to inspire others!

:zap: Did you know :rainbow:

that when you make other people happy, as they play your game

in addition to money

:star2: You gain in happiness just because you made your players so happy? :star2:

It’s true!

:zap: So let’s keep inspiring the world everyone! :rose:

And I will reply to the other posts as soon as I can!

:sparkling_heart:

Rama

2 Likes

Hi there,

I’m using Create Proc to run an external render node (after effects FWIW) which spits out information on its progress in a cmd window. Is there a way to get that output so I can make and update a progress bar?

Thanks,
-Rich

static int32 GetUnixTimeStamp(const FDateTime& UTCTime)

static void GetUTCFromUnixTimeStamp(int32 UnixTimeStamp, FDateTime& UTCTime)

can this be updated to int64 at this time?

Welcome to the UE Community @richhelvey !

Yes I have done this myself, my use case was video processing using the ffmpeg foundation.

If you pipe the output of the procedure to a .txt file, in addition to displaying in your cmd window,

Then you can use my LoadString nodes to periodically check the file and update it!

I would use a fairly short timer (but not too short) in case a read/write operation conflicts and prevents the file from being accessed by either side.

/** 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")
	{
		return FFileHelper::LoadFileToString( Result, *FullFilePath);
	}

:heart:

Rama

Thank you for sharing Android 4.27 Victory Plugin build with all of us!

:heart:

Rama

Great to hear from you @MOSF !

:rose: YES :rose:

I have changed to using int64,

:dolphin: though dolphins may still come to rule this world, :dolphin:

:zap: int64 BP datatype is already here… :zap:

/* Blueprints does not support int64 so at some pt in future int32 will not be enough, probably by then dolphins will rule the world, or UE4 BP will support int64, or both!  <3 Rama*/
	UFUNCTION(BlueprintPure, Category = "Victory BP Library|System")
	static int64 GetUnixTimeStamp(const FDateTime& UTCTime)
	{
		//Please note it should really be int64 but that is not supported by BP yet
		return UTCTime.ToUnixTimestamp();
	} 
	/* Blueprints does not support int64 so at some pt in future int32 will not be enough, probably by then dolphins will rule the world, or UE4 BP will support int64, or both!  <3 Rama*/
	UFUNCTION(BlueprintPure, Category = "Victory BP Library|System")
	static void GetUTCFromUnixTimeStamp(int64 UnixTimeStamp, FDateTime& UTCTime)
	{
		//Please note it should really be int64 but that is not supported by BP yet
		UTCTime = FDateTime::FromUnixTimestamp( UnixTimeStamp );
	}

:heart:

Rama

PS: 4.27 link in Original Post updated!


Victory Plugin for UE5


:heart:

Rama