Download

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

I have an existing project in 4.10.4 that uses the wonderful Victory plugin. I want to upgrade my project to 4.11 and make a standalone dedicated server for which I understand I still need a source built engine. I have compiled the GitHub version of Unreal 4.11 using VS 2015 and it works for new projects, but I can’t switch my existing project to 4.11 with the plugin enabled. I looked around for detailed instructions on adding the plugin source to the engine but couldn’t find anything that helps me. I get errors when I try to compile the project in VS. When I compile the engine after copying the most recent victoryplugin.zip contents into my /engine/plugins directory, it seems like it almost works but I still get 3 errors. I am probably doing something wrong but I need to know if it is even possible to do this with VS 2015 or do I need VS 2013 for some reason? And what is the proper way to add or compile the plugin source to the engine for someone not very familiar with VS? I think I can continue the process of making a dedicated server once I can get a source built engine to work with the plugin. Any help would be greatly appreciated!

Hi guys, I’m using the sound volume stuff and it works great in editor but I’ve come to package my game and it doesn’t change the volume. Has anyone seen this before and know of a fix? I’ve tested it in 4.9 and 4.10 if that helps

When I want to build my game for win64 with the Plugin it gives me:
UnrealBuildTool: UE4-VictoryBPLibrary.lib(VictoryBPLibrary.generated.cpp.obj) : error LNK2005: "public: virtual bool __cdecl UObjectBaseUtility::CanBeInCluster(void)const " (?CanBeInCluster@UObjectBaseUtility@@UEBA_NXZ) is already in UE4-CoreUObject.lib(M
MainFrameActions: Packaging (Windows (64-bit)): odule.CoreUObject.4_of_4.cpp.obj) defined.

I am using Win7 and UE4.11 with the mediafire link from the wiki. What do I wrong?

Does anyone have any tips on bringing the VictoryEdEngine to 4.11, or do we need to wait for Rama to update it?

Rama posted above of a 4.11 update in a week or so as of the 2nd :slight_smile:

Is this also able to instance blueprints? Say for EX. the Fence pack from the marketplace?!

Hi there!

The latest update for 4.10 is Feb 6th, 2016 :slight_smile:

Welcome to the forums MTRNord!

I just packaged for 4.11 without any issues, you placed the VictoryPlugin folder inside of Engine/Plugins/Runtime?

Welcome to the forums!

When you try to switch engine versions, the plugin wont compile because there are changes from 4.10 to 4.11, which is bit of a loopy situation when you are trying to switch so that you can compile.

Exactly what message are you getting while trying to switch engine versions? Is it just saying that VictoryPlugin could not be compiled?

Solution1: Have you tried putting the 4.11 plugin code in the plugin folder before trying to switch engine versions?

Solution2: If that doesnt work you can disable the plugin by temporarily renaming your Plugins folder to Plugins_, then after your project .sln is generated you can switch the plugin code to 4.11 and recompile your project, switching Plugins_ back to just Plugins

I’ve upgraded multiple projects to 4.11 that use VictoryPlugin so I am sure you will find a way!

:heart:

Rama

Hi there!

I use my own sound nodes in a packaged game, win32 shipping, and also a mac build, and I’ve not had an issue.

I am in no way proclaiming there could not be an issue here, I am just reporting my own successes as a reference :slight_smile:

I am using one of the engine default sound classes, Music.

Are you using a custom class?

Can you try using an engine default sound class and let me know how that goes?

:slight_smile:

The Issue with ISM Editor ~ Details

An update on this:

As of 4.11 the system for InstancedStaticMeshComponent is compeletely incompatible with my current implementation, as soon as the ISM actor is created, it looks fine, but if you move it once, all the instances disappear.

The only way I could make it work now is to generate a new Blueprint for each ISM that you make, and store it in your project Content folder somewhere.

This would alleviate the issue of copy/pasting, but it would mean having a whole bunch of blueprints for each possible ISM combination.

If you all think that is okay I can proceed with that, but needless to say generating a bunch of blueprints as you click around the editor and storing them in your content folder will require a lot more coding than the previous implementation required.

:heart:

Rama

PS: only alternative would be to write my own version of InstancedStaticMeshComponent which does not have the copy/pasting issue.

The issue with this is copying Epic’s code into a new set of files, removing the offending few lines of code, and then posting that on the internet in an insecure/public way, which is rather illegal given Epic’s EULA.

All the code in my plugins is my own, or the code of contributors, so I have not had to worry about offering a public link.

So in my mind the only option is generating blueprint assets on the fly whenever you press i to make an ISM actor, unless someone can think of something else!

3 New Nodes For You ~ Text to Float, Text to Int, Text Is Numeric, With Culture Support!

Dear Community,

While I was trying to convert numbers inputted into Editable Text Blocks in UMG, I ran into the following:

  1. user enters 10000
  2. I convert Text input to string, and then to float, and get 10000
  3. user enters 10,000, I do the above but I get 10 in code instead.

10?!!!

I was highly confused :slight_smile:

Well turns out that when FString gets 10,000 which is converted that way by FText, then comma truncates the FString conversion to float and I end up with 10.

This would be compounded by culture setting where user is inclined to enter 10.000,00

So!

I hereby present you with nodes that convert from FText to Float and Int, with Culture support!

See pics!


**Culture Support**

As you can see in my pics I support both 10,000.99 and 10.000,99.

If anyone has other versions like 10'000.99 that they need support for, let me know!
 
The option to switch is hidden by default for convenience, just like for print string and FText to number conversions.

Enjoy!

![TextToNum.jpg|1206x574](upload://9tCsYz41QVKajF433JY3aZlRWLa.jpeg)

![TextToNum2.jpg|1206x566](upload://3rXvClq6xan8xNqQkMfBbLXDf1m.jpeg)

![ae72586253b1c35f72274864617fb4b257aec21d.jpeg|1197x583](upload://oTe3VOsZFFA9vdljzNgqDexUsyx.jpeg)

C++ Code

Here is the C++ code for these nodes!

Please note the FText’s are always passed by const reference for efficiency reasons.

Also note that my internal FString formatting code uses ReplaceInline which avoids creating a copy of the string just to replace the symbols, and is thus much more efficient code.



UFUNCTION(BlueprintPure, Category = "VictoryBPLibrary")
static bool **Text_IsNumeric**(const FText& Text)
{
	return Text.IsNumeric();
}
  
UFUNCTION(BlueprintPure, Category = "VictoryBPLibrary", meta=(AdvancedDisplay = "1"))
static float **Text_ToFloat**(const FText& Text, bool UseDotForThousands=false)
{  
	//because commas lead to string number being truncated, FText 10,000 becomes 10 for FString
	FString StrFloat = Text.ToString();
	TextNumFormat(StrFloat,UseDotForThousands);
	return FCString::Atof(*StrFloat); 
}  

UFUNCTION(BlueprintPure, Category = "VictoryBPLibrary", meta=(AdvancedDisplay = "1"))
static int32 **Text_ToInt**(const FText& Text, bool UseDotForThousands=false)
{   
	//because commas lead to string number being truncated, FText 10,000 becomes 10 for FString
	FString StrInt = Text.ToString();
	TextNumFormat(StrInt,UseDotForThousands);
	return FCString::Atoi(*StrInt);
}
  
static void **TextNumFormat**(FString& StrNum, bool UseDotForThousands)
{
	//10.000.000,997
	if(UseDotForThousands)
	{
		StrNum.**ReplaceInline**(TEXT("."),TEXT(""));	//no dots as they truncate
		StrNum.**ReplaceInline**(TEXT(","),TEXT("."));	//commas become decimal
	}
	
	//10,000,000.997
	else
	{
		StrNum.**ReplaceInline**(TEXT(","),TEXT(""));  //decimal can stay, commas would truncate so remove
	}
}


New Download (29mb, 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:
http://lightningfitness.org/donate/

:heart:

Rama

Android build error

Hi Rama,

first off, thanks for providing such a great plugin for free!

My issue: I am trying to do an Android build but that keeps failing with your plugin activated with the following error:

MainFrameActions: Packaging (Android (ASTC)): UnrealBuildTool: [3/12] clang++.exe Module.VictoryBPLibrary.cpp [armv7-es2]
MainFrameActions: Packaging (Android (ASTC)): UnrealBuildTool: In file included from <built-in>:345:
MainFrameActions: Packaging (Android (ASTC)): UnrealBuildTool: <command line>(76,9) : error: ‘WITH_APEX’ macro redefined -Werror,-Wmacro-redefined]
MainFrameActions: Packaging (Android (ASTC)): UnrealBuildTool: #define WITH_APEX 1
MainFrameActions: Packaging (Android (ASTC)): UnrealBuildTool: ^
MainFrameActions: Packaging (Android (ASTC)): UnrealBuildTool: <command line>(73,9) : note: previous definition is here
MainFrameActions: Packaging (Android (ASTC)): UnrealBuildTool: #define WITH_APEX 0
MainFrameActions: Packaging (Android (ASTC)): UnrealBuildTool: ^
MainFrameActions: Packaging (Android (ASTC)): UnrealBuildTool: In file included from <built-in>:345:
MainFrameActions: Packaging (Android (ASTC)): UnrealBuildTool: <command line>(76,9) : error: ‘WITH_APEX’ macro redefined -Werror,-Wmacro-redefined]
MainFrameActions: Packaging (Android (ASTC)): UnrealBuildTool: #define WITH_APEX 1
MainFrameActions: Packaging (Android (ASTC)): UnrealBuildTool: ^
MainFrameActions: Packaging (Android (ASTC)): UnrealBuildTool: <command line>(73,9) : note: previous definition is here
MainFrameActions: Packaging (Android (ASTC)): UnrealBuildTool: #define WITH_APEX 0

MainFrameActions: Packaging (Android (ASTC)): UnrealBuildTool: ERROR: UBT ERROR: Failed to produce item: D:\MyProject\Plugins\VictoryPlugin\Binaries\Android\UE4-VictoryBPLibrary-armv7-es2.a

Note: With your plugin disabled the build works.

~ imbakeks

Oh I see I put it in the Plugin folder but not in Runtime. I will try that :slight_smile:

After adding it to the right folder it crashes with the same error. When I add the config line it doesn’t even start the editor. Are there any possible ways to fix this?

I’m unable to get the victory plugin to build with the 4.11 release version. The VS 2015 build fails immediately with a failed to initialize the engine error.

haha ok, nevermind, the name slightly changed from 4.10 to 4.11 version, once I updated it in my uproject file it was happy :stuck_out_tongue:

Thank you very much, that’s fixed it nicely

Ugh, sorry to hear that. As a VR developer, I’ve become a huge fan of your instancing solution; Epic’s is just too clunky when dealing with large numbers of meshes.

In my case I’m simply trying to upgrade from 4.10 (where ISM works perfectly) to 4.11, so I can take advantage of instanced stereo and Oculus SDK 1.3. I actually don’t need to move any of the meshes I’ve already placed in my level. I wonder if the EdEngine was just recompiled for 4.11 it would work, as long as nothing is moved. Of course, that doesn’t solve the problem going forward.

If that’s the only solution, I don’t see too much of a problem with it. It seems like it would just require more diligent content folder organization.

Works now! Thanks Rama!

Hey Rama when I compile for android I get this message

Missing UE4Game binary.
You may have to build the UE4 project with your IDE. Alternatively, build using UnrealBuildTool with the commandline:
UE4Game <Platform> <Configuration>

Is the victory plugins not supported for android yet? I really hope it would be since theirs a BP node I absolutely need in your plugin :frowning: . is their a way I can make it work? Also does doesn’t seem to work for IOS either. Is their a method you made to make it work for mobiles or android. Anyone know a solution? Thanks!

Also i’m using 4.10 with the jan 15, 2016 update since Feb 15 seems not to work for 4.11 and Feb 6 seems not to work for 4.10 either when I tried.

Thanks for the reply! I tried solution 1 which I thought I had tried before but this time I looked into that error and it turns out it was a known issue when upgrading to 4.11 with the lightmass propagation plugin disabled, which I had recently disabled to make my game smaller. (UE-29010) I re-enabled the plugin and it worked perfectly! I wasn’t doing it right before since the other errors were likely caused by trying to upgrade with the old plugin files still in my project folder, and I also had the plugin listed twice after since I thought it had to be installed in the editor engine plugins directory as well. Now that it’s all sorted I was able to successfully build my standalone dedicated server with 4.11 source! I donated what I could for now because your plugin is awesome and you help a lot of people on here. Keep up the good work and thanks again!

Hi Rama,

Thanks for the awesome plugin. I have a need to change axis configurations (deadzone, sensitivity, and exponent) at run-time in a full BP project. Do you have an idea how to do it? Thanks in advance!

Max