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

Hi everyone! I’ve installed Victory plugin but run into a strange bug. In the UMG there is no Joy color wheel to drag to the canvas, anybody faced 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 ? Can’t seem to wrap my head around the problem and been sitting with it day.

Hi @

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 ( Dale) said to use
FPlatformProcess::UserDir()

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

If not is the correct why to get 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 error when trying to run a project on an 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 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 ? 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 did you get any other errors? I have commented out the necessary code in the .cpp and the .h and added as a whitelisted platform in the .uplugin file but I get error when packaging for android.

ERROR: Missing precompiled manifest for 'VictoryBPLibrary'.  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 ?

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. 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! @Bad_Imp_Studios :+1:

So for anyone wanting to package the VictoryPlugin for 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 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:

2 Likes

Hi there,

I’m using Create Proc to run an external render node (after 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 be updated to int64 at ?

Welcome to the UE Community @richhelvey !

Yes I have 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.  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:

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

:heart:

Great to hear from you @MOSF !

:rose: YES :rose:

I have changed to using int64,

:dolphin: though dolphins may still come to rule 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*/
	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*/
	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:

PS: 4.27 link in Original Post updated!


Victory Plugin for UE5


:heart:

node will get the Saved folder of your game, wherever it maybe installed :slight_smile:

In fact, even if you MOVE your shipped game, after it is installed, my node will STILL find your Saved folder of your project, which is why I use ConvertRelativePathToFull.

Yes, for the times when a user’s packaged game moves aorund without consulting with you first… (it could happen)

:zap: :racehorse: :dash: :zap: