Announcement

Collapse
No announcement yet.

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

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    Originally posted by Rama View Post
    I did actually expose my Victory Core BP Library yes, so you can include it in your build cs!

    The fact that I include VICTORYBPLIBRARY_API means that the symbols get exported so that you include my plugin functions and classes and compile code at the project level.

    You need to include my plugin module in your build cs as a dependency in order to use #include "VictoryBPLibrary.h"

    Code:
    PublicDependencyModuleNames.AddRange(new string[] { 
    	"Core", "CoreUObject", "Engine", "InputCore",
    			
    	"VictoryPlugin"
    });

    Rama
    Thanks, but when i add "VictoryPlugin" into my OldSchoolNightmare.Build.cs file, and it looks like that:

    Code:
    PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "VictoryPlugin" });
    I'm getting these erros:

    Code:
    Error	1	error : Exception thrown while processing dependent modules of OldSchoolNightmare	C:\OldSchoolNightmare\Intermediate\ProjectFiles\EXEC	OldSchoolNightmare
    Error	2	error : Couldn't find module rules file for module 'VictoryPlugin'.	C:\OldSchoolNightmare\Intermediate\ProjectFiles\EXEC	OldSchoolNightmare
    Error	3	error MSB3073: The command ""D:\Program Files\Epic Games\4.7\Engine\Build\BatchFiles\Build.bat" OldSchoolNightmareEditor Win64 Development "C:\OldSchoolNightmare\OldSchoolNightmare.uproject" -rocket" exited with code -1.	C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.MakeFile.Targets	38	5	OldSchoolNightmare
    Check out my game OldSchool Nightmare : http://www.indiedb.com/games/oldschool-nightmare

    Comment


      Originally posted by Sahkan View Post
      I'm getting these erros:

      Code:
      Error	1	error : Exception thrown while processing dependent modules of OldSchoolNightmare	C:\OldSchoolNightmare\Intermediate\ProjectFiles\EXEC	OldSchoolNightmare
      Error	2	error : Couldn't find module rules file for module 'VictoryPlugin'.	C:\OldSchoolNightmare\Intermediate\ProjectFiles\EXEC	OldSchoolNightmare
      Error	3	error MSB3073: The command ""D:\Program Files\Epic Games\4.7\Engine\Build\BatchFiles\Build.bat" OldSchoolNightmareEditor Win64 Development "C:\OldSchoolNightmare\OldSchoolNightmare.uproject" -rocket" exited with code -1.	C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.MakeFile.Targets	38	5	OldSchoolNightmare
      Ooops, please use this

      Code:
      VictoryBPLibrary
      instead of this

      Code:
      VictoryPlugin
      Let me know how it goes!



      Rama
      100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

      UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

      Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

      Comment


        Get All Screen Resolutions

        Now works in packaged games!

        You can use this with your UMG menus!

        It gathers data specific to the end user's display adapter, including all available refresh rates

        old but has nice in-game pic
        Click image for larger version

Name:	ScreenResolutions.jpg
Views:	4
Size:	339.4 KB
ID:	1076566

        actual!
        Click image for larger version

Name:	Resolutions2BP.jpg
Views:	8
Size:	579.1 KB
ID:	1076567


        ~~~

        Download and plug in! (Files Size: Less Than 1 MB)

        Latest plugin download is here:
        https://wiki.unrealengine.com/File:VictoryPlugin.zip

        Enjoy!

        Rama
        Last edited by Rama; 05-17-2015, 02:46 PM.
        100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

        UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

        Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

        Comment


          Dear Rama, I feel as if some of the plugin nodes have names that seem a bit odd, for example: "Options Menu Get Display Adapter Screen Resolutions". I think that a more fitting name could be: "Get Supported Screen Resolutions", or "Get Display Adapter Screen Resolutions", I just feel as if it is a bit harder to understand when the title has unnecessary words, and also harder to search. Just thought I'd post this in case you change the way you name them.
          Marketplace Assets

          Advanced Mobile Input: Marketplace Page | Support Thread ――― Easy Input Remapping: Marketplace Page | Support Thread
          Multiplayer Blueprint Chat System: Marketplace Page | Support Thread ――― Closing Credits System: Marketplace Page | Support Thread
          Minesweeper Template: Marketplace Page | Support Thread ――― Maze Creator: Marketplace Page | Support Thread

          Comment


            Originally posted by Rama View Post
            Ooops, please use this

            Code:
            VictoryBPLibrary
            instead of this

            Code:
            VictoryPlugin
            Let me know how it goes!



            Rama
            Thanks, now it compiles with the added module, but when i add the header to my cpp file (#include "VictoryBPLibrary.h"), it gives me this error:

            Code:
            Error	1	error C1083: Cannot open include file: 'VictoryBPLibrary.h': No such file or directory	C:\OldSchoolNightmare\Source\OldSchoolNightmare\BYM_Building_Base.cpp	8	1	OldSchoolNightmare
            Also tried : #include "VictoryBPFunctionLibrary.h" and it gave me this:
            Code:
            Error	1	error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl FSlateFontInfo::~FSlateFontInfo(void)" (__imp_??1FSlateFontInfo@@QEAA@XZ) referenced in function "void __cdecl DestructItems<class FSlateDrawElement>(class FSlateDrawElement *,int)" (??$DestructItems@VFSlateDrawElement@@@@YAXPEAVFSlateDrawElement@@H@Z)	C:\OldSchoolNightmare\Intermediate\ProjectFiles\BYM_Building_Base.cpp.obj	OldSchoolNightmare
            Last edited by Sahkan; 05-18-2015, 01:00 AM.
            Check out my game OldSchool Nightmare : http://www.indiedb.com/games/oldschool-nightmare

            Comment


              Originally posted by Jamendxman3 View Post
              Dear Rama, I feel as if some of the plugin nodes have names that seem a bit odd, for example: "Options Menu Get Display Adapter Screen Resolutions". I think that a more fitting name could be: "Get Supported Screen Resolutions", or "Get Display Adapter Screen Resolutions", I just feel as if it is a bit harder to understand when the title has unnecessary words, and also harder to search. Just thought I'd post this in case you change the way you name them.
              I agree the Options Menu part is unnecessary, but if I change the name now, it will invalidate a lot of people's BP code who are using my plugin.

              I will investigate non-destructive ways to rename, perhaps using a meta friendly name.

              But you see the issue now, renaming is a process that requires everyone else to adjust to my decision to rename a node.
              100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

              UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

              Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

              Comment


                Slate Build CS Dependencies Required

                Originally posted by Sahkan View Post
                Also tried : #include "VictoryBPFunctionLibrary.h" and it gave me this:
                Code:
                Error	1	error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl FSlateFontInfo::~FSlateFontInfo(void)" (__imp_??1FSlateFontInfo@@QEAA@XZ) referenced in function "void __cdecl DestructItems<class FSlateDrawElement>(class FSlateDrawElement *,int)" (??$DestructItems@VFSlateDrawElement@@@@YAXPEAVFSlateDrawElement@@H@Z)	C:\OldSchoolNightmare\Intermediate\ProjectFiles\BYM_Building_Base.cpp.obj	OldSchoolNightmare
                Dear Sahkan,

                The latter is correct:

                Code:
                #include "VictoryBPFunctionLibrary.h"
                The problem is that your build cs needs to include the same Slate/UMG modules that I am including in the Victory BP Library plugin.

                Refer to the Victory BP Library build cs to see which modules you should add:

                Code:
                 PublicDependencyModuleNames.AddRange(
                			new string[] { 
                				"Core", 
                				"CoreUObject", 
                				"Engine", 
                				"InputCore",
                				
                				"RHI",
                				"RenderCore",
                				 
                				"HTTP",
                				"UMG", "Slate", "SlateCore",
                				
                				"ImageWrapper",
                				
                				"PhysX", "APEX" 
                			}
                		);

                Try adding these to your own public dependencies (project build cs)

                Code:
                "UMG", "Slate", "SlateCore",
                That should do it!



                Rama
                100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

                UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

                Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

                Comment


                  Thanks, now it compiles
                  Check out my game OldSchool Nightmare : http://www.indiedb.com/games/oldschool-nightmare

                  Comment


                    Load Texture 2D From File!

                    JPG, PNG, BMP, ICO, EXR, and ICNS are Supported File Formats !


                    Click image for larger version

Name:	LoadImageFromFile2.jpg
Views:	8
Size:	201.0 KB
ID:	1078582

                    With this node you can load a Texture 2D from a file during runtime!

                    I output for you the width and height of the loaded image!

                    Now you can easily create Texture 2D's from image files in Blueprints, during runtime!


                    Special Note!

                    Tim Sweeney liked this node!


                    Enjoy!

                    Rama

                    PS: Make sure to include the file extension when you use this node!

                    Click image for larger version

Name:	LoadImageFromFile.jpg
Views:	8
Size:	238.0 KB
ID:	1078583

                    ~~~

                    C++ Code For You

                    Here is the core C++ function involved, entire source is in the download! I wrote my own Enum for the file formats.

                    Code:
                    UTexture2D* UVictoryBPFunctionLibrary::Victory_LoadTexture2D_FromFile(const FString& FullFilePath,EJoyImageFormats ImageFormat, bool& IsValid,int32& Width, int32& Height)
                    {
                    	IsValid = false;
                    	UTexture2D* LoadedT2D = NULL;
                    	
                    	IImageWrapperModule& ImageWrapperModule = FModuleManager::LoadModuleChecked<IImageWrapperModule>(FName("ImageWrapper"));
                    	
                    	IImageWrapperPtr ImageWrapper = ImageWrapperModule.CreateImageWrapper(GetJoyImageFormat(ImageFormat));
                     
                    	//Load From File
                    	TArray<uint8> RawFileData;
                    	if (!FFileHelper::LoadFileToArray(RawFileData, * FullFilePath)) 
                    	{
                    		return NULL;
                    	}
                    	
                    	  
                    	//Create T2D!
                    	if (ImageWrapper.IsValid() && ImageWrapper->SetCompressed(RawFileData.GetData(), RawFileData.Num()))
                    	{ 
                    		const TArray<uint8>* UncompressedBGRA = NULL;
                    		if (ImageWrapper->GetRaw(ERGBFormat::BGRA, 8, UncompressedBGRA))
                    		{
                    			LoadedT2D = UTexture2D::CreateTransient(ImageWrapper->GetWidth(), ImageWrapper->GetHeight(), PF_B8G8R8A8);
                    			
                    			//Valid?
                    			if (!LoadedT2D) 
                    			{
                    				return NULL;
                    			}
                    			
                    			//Out!
                    			Width = ImageWrapper->GetWidth();
                    			Height = ImageWrapper->GetHeight();
                    			 
                    			//Copy!
                    			void* TextureData = LoadedT2D->PlatformData->Mips[0].BulkData.Lock(LOCK_READ_WRITE);
                    			FMemory::Memcpy(TextureData, UncompressedBGRA->GetData(), UncompressedBGRA->Num());
                    			LoadedT2D->PlatformData->Mips[0].BulkData.Unlock();
                    
                    			//Update!
                    			LoadedT2D->UpdateResource();
                    		}
                    	}
                    	 
                    	// Success!
                    	IsValid = true;
                    	return LoadedT2D;
                    }
                    ~~~

                    Download Link (6.5mb)

                    UE4 Wiki, Plugin Download Page
                    https://wiki.unrealengine.com/File:VictoryPlugin.zip



                    Rama
                    100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

                    UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

                    Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

                    Comment


                      Hi Rama, are TMaps replicated?

                      Comment


                        Awesome Rama. Would it be possible to add access to the pixel array via this node as in your other one? Or perhaps a more generalized Texture Reference object to pixel array function?

                        Cheers,

                        J^2

                        Comment


                          Fails on Android

                          I just converted my project to a C++ project. I can build and run the project in Visual Studio. I can build and compile the project in the editor without any issues. I can package to Win64, no problem. But as soon as I try to package to Android and/or launch to Android, it fails.

                          When it was a BP only project, I was able to build to Android without any issues. The only difference between this project and BP only project, is that I added the Victory BP plugin. Now if I remove the plugin, I can build again.

                          Here's part of the log that specifies my error. It seems that it's missing something

                          C:\Users\Marc-Andre\Google Drive\Hangar 74\UE4\Bengal\Intermediate\Build\Android\Bengal\Development/UELinkerFixups.cpp:615: error: undefined reference to 'EmptyLinkFunctionForStaticInitializationSettings()'
                          Thus it cannot create an so file.

                          ERROR: UBT ERROR: Failed to produce item: C:\Users\Marc-Andre\Google Drive\Hangar 74\UE4\Bengal\Binaries\Android\Bengal-armv7-es2.so

                          Here's the last portion of my log file.

                          MainFrameActions: Packaging (Android (ETC1)): UnrealBuildTool: [11/14] clang++.exe VictoryISM.cpp [armv7-es2]
                          MainFrameActions: Packaging (Android (ETC1)): UnrealBuildTool: [12/14] clang++.exe VictoryBPLibraryModule.cpp [armv7-es2]
                          MainFrameActions: Packaging (Android (ETC1)): UnrealBuildTool: [13/14] arm-linux-androideabi-ar.exe VictoryBPLibrary-Static-armv7-es2.a
                          MainFrameActions: Packaging (Android (ETC1)): UnrealBuildTool: C:/NVPACK/android-ndk-r9c\toolchains/arm-linux-androideabi-4.8\prebuilt/windows\bin/arm-linux-androideabi-ar.exe: creating C:/Users/Marc-Andre/Google Drive/Hangar 74/UE4/Bengal/Plugins/VictoryPlugin/Binaries/Android/VictoryBPLibrary-Static-armv7-es2.a
                          MainFrameActions: Packaging (Android (ETC1)): UnrealBuildTool: [14/14] clang++.exe Bengal-armv7-es2.so
                          MainFrameActions: Packaging (Android (ETC1)): UnrealBuildTool: C:\Users\Marc-Andre\Google Drive\Hangar 74\UE4\Bengal\Intermediate\Build\Android\Bengal\Development/UELinkerFixups.cpp:615: error: undefined reference to 'EmptyLinkFunctionForStaticInitializationSettings()'
                          MainFrameActions: Packaging (Android (ETC1)): UnrealBuildTool: clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)
                          MainFrameActions: Packaging (Android (ETC1)): UnrealBuildTool: -------- End Detailed Actions Stats -----------------------------------------------------------
                          MainFrameActions: Packaging (Android (ETC1)): UnrealBuildTool: ERROR: UBT ERROR: Failed to produce item: C:\Users\Marc-Andre\Google Drive\Hangar 74\UE4\Bengal\Binaries\Android\Bengal-armv7-es2.so
                          MainFrameActions: Packaging (Android (ETC1)): UnrealBuildTool: Cumulative action seconds (4 processors): 0.00 building projects, 176.19 compiling, 0.00 creating app bundles, 0.00 generating debug info, 57.63 linking, 0.00 other
                          MainFrameActions: Packaging (Android (ETC1)): UnrealBuildTool: UBT execution time: 137.19 seconds
                          MainFrameActions: Packaging (Android (ETC1)): CommandUtils.Run: Run: Took 137.3267136s to run UnrealBuildTool.exe, ExitCode=2
                          MainFrameActions: Packaging (Android (ETC1)): ErrorReporter.Error: ERROR: AutomationTool error: Command failed (Result:2): C:\Program Files\Epic Games\4.7\Engine\Binaries\DotNET\UnrealBuildTool.exe Bengal Android Development "C:\Users\Marc-Andre\Google Drive\Hangar 74\UE4\Bengal\Bengal.uproject" -noxge -rocket -NoHotReloadFromIDE. See logfile for details: 'UnrealBuildTool.txt'
                          MainFrameActions: Packaging (Android (ETC1)): BuildCommand.Execute: ERROR: BUILD FAILED
                          MainFrameActions: Packaging (Android (ETC1)): Program.Main: ERROR: AutomationTool terminated with exception:
                          MainFrameActions: Packaging (Android (ETC1)): Program.Main: ERROR: Exception in AutomationTool: Command failed (Result:2): C:\Program Files\Epic Games\4.7\Engine\Binaries\DotNET\UnrealBuildTool.exe Bengal Android Development "C:\Users\Marc-Andre\Google Drive\Hangar 74\UE4\Bengal\Bengal.uproject" -no
                          MainFrameActions: Packaging (Android (ETC1)): xge -rocket -NoHotReloadFromIDE. See logfile for details: 'UnrealBuildTool.txt'
                          MainFrameActions: Packaging (Android (ETC1)): Stacktrace: at AutomationTool.CommandUtils.RunAndLog(String App, String CommandLine, String Logfile, Int32 MaxSuccessCode, String Input, ERunOptions Options, Dictionary`2 EnvVars)
                          MainFrameActions: Packaging (Android (ETC1)): at AutomationTool.CommandUtils.RunUBT(CommandEnvironment Env, String UBTExecutable, String CommandLine, String LogName, Dictionary`2 EnvVars)
                          MainFrameActions: Packaging (Android (ETC1)): at AutomationTool.UE4Build.BuildWithUBT(String ProjectName, String TargetName, UnrealTargetPlatform TargetPlatform, String Config, String UprojectPath, Boolean ForceMonolithic, Boolean ForceNonUnity, Boolean ForceDebugInfo, Boolean ForceFlushMac, Boolean DisableXGE, String InAddArgs, Boolean ForceUnity, Dictionary`2 EnvVars)
                          MainFrameActions: Packaging (Android (ETC1)): at AutomationTool.UE4Build.Build(BuildAgenda Agenda, Nullable`1 InDeleteBuildProducts, Boolean InUpdateVersionFiles, Boolean InForceNoXGE, Boolean InForceNonUnity, Boolean InForceUnity, Dictionary`2 PlatformEnvVars)
                          MainFrameActions: Packaging (Android (ETC1)): at Project.Build(BuildCommand Command, ProjectParams Params, Int32 WorkingCL)
                          MainFrameActions: Packaging (Android (ETC1)): at BuildCookRun.DoBuildCookRun(ProjectParams Params)
                          MainFrameActions: Packaging (Android (ETC1)): at BuildCommand.Execute()
                          MainFrameActions: Packaging (Android (ETC1)): at AutomationTool.Automation.Execute(List`1 CommandsToExecute, CaselessDictionary`1 Commands)
                          MainFrameActions: Packaging (Android (ETC1)): at AutomationTool.Automation.Process(String[] CommandLine)
                          MainFrameActions: Packaging (Android (ETC1)): at AutomationTool.Program.MainProc(Object Param)
                          MainFrameActions: Packaging (Android (ETC1)): at AutomationTool.InternalUtils.RunSingleInstance(MainProc Main, Object Param)
                          MainFrameActions: Packaging (Android (ETC1)): at AutomationTool.Program.Main()
                          MainFrameActions: Packaging (Android (ETC1)): Program.Main: ERROR: Command failed (Result:2): C:\Program Files\Epic Games\4.7\Engine\Binaries\DotNET\UnrealBuildTool.exe Bengal Android Development "C:\Users\Marc-Andre\Google Drive\Hangar 74\UE4\Bengal\Bengal.uproject" -noxge -rocket -NoHotReloadFromIDE. See logfile for details: 'UnrealBuildTool.txt'
                          MainFrameActions: Packaging (Android (ETC1)): ProcessManager.KillAll: Trying to kill 0 spawned processes.
                          MainFrameActions: Packaging (Android (ETC1)): Program.Main: AutomationTool exiting with ExitCode=2
                          MainFrameActions: Packaging (Android (ETC1)): Domain_ProcessExit
                          MainFrameActions: Packaging (Android (ETC1)): ProcessManager.KillAll: Trying to kill 0 spawned processes.
                          MainFrameActions: Packaging (Android (ETC1)): copying UAT log files...
                          MainFrameActions: Packaging (Android (ETC1)): RunUAT.bat ERROR: AutomationTool was unable to run successfully.
                          MainFrameActions: Packaging (Android (ETC1)): BUILD FAILED
                          Any reason why?

                          thanks
                          The Hangar Studio - Video Game Studio

                          An I for an I
                          (Imagination equals Innovation)

                          Comment


                            Originally posted by Kheka View Post
                            Hi Rama, are TMaps replicated?
                            No they are not replicated automatically, replication like that would have to be orchestated by you just like for most other gameplay features. My recommendation would be to only run the logic requiring TMaps on the server-side and just pass the output/results/effects to clients via custom replicated events.



                            Originally posted by J. J. Franzen View Post
                            Awesome Rama. Would it be possible to add access to the pixel array via this node as in your other one? Or perhaps a more generalized Texture Reference object to pixel array function?

                            Cheers,

                            J^2
                            Texture2D -> Pixel array is a great idea, I will have to look into it when I get the chance!




                            Rama
                            100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

                            UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

                            Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

                            Comment


                              Originally posted by maparizeau View Post
                              MainFrameActions: Packaging (Android (ETC1)): UnrealBuildTool: C:/NVPACK/android-ndk-r9c\toolchains/arm-linux-androideabi-4.8\prebuilt/windows\bin/arm-linux-androideabi-ar.exe: creating C:/Users/Marc-Andre/Google Drive/Hangar 74/UE4/Bengal/Plugins/VictoryPlugin/Binaries/Android/VictoryBPLibrary-Static-armv7-es2.a
                              MainFrameActions: Packaging (Android (ETC1)): UnrealBuildTool: [14/14] clang++.exe Bengal-armv7-es2.so
                              MainFrameActions: Packaging (Android (ETC1)): UnrealBuildTool: C:\Users\Marc-Andre\Google Drive\Hangar 74\UE4\Bengal\Intermediate\Build\Android\Bengal\Development/UELinkerFixups.cpp:615: error: undefined reference to 'EmptyLinkFunctionForStaticInitializationSettings()'
                              MainFrameActions: Packaging (Android (ETC1)): UnrealBuildTool: clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)
                              ~~~

                              Android Build Issues

                              I have many reports of people compiling my plugin for Android successfully, so I am not sure why you in particular are having an issue.

                              If anyone who is routinely building for Android can provide any additional insight in the matter that would be great!

                              Do you have any other log info that seems relevant besides what I've copied above?

                              This error does not give me a whole lot to work with.

                              Here's the first key line:

                              Code:
                              creating C:/Users/Marc-Andre/Google Drive/Hangar 74/UE4/Bengal/Plugins/VictoryPlugin/Binaries/Android/VictoryBPLibrary-Static-armv7-es2.a 
                              
                              _
                              and then this:

                              Code:
                              C:\Users\Marc-Andre\Google Drive\Hangar 74\UE4\Bengal\Intermediate\Build\Android\Bengal\Development/UELinkerFixups.cpp:615: error: undefined reference to 'EmptyLinkFunctionForStaticInitializationSettings()'
                              
                              _
                              ~~~

                              C++ Android Development

                              Please review the documentation on developing for Android using C++.

                              There's probably a build.cs or target.cs adjustment that you need to make to the plugin to support android specifically. I can't add this to the general plugin since not everyone is building for android.

                              Epic Docs on Building for Android
                              https://docs.unrealengine.com/latest...nce/index.html

                              ~~~

                              Android NDK Required for Plugin Builds

                              In particular please note that in order to compile C++ for Android you need these two additinal things, beyond building for BP only.

                              Android NDK
                              Enviro variable -> NDKROOT


                              ~~~

                              Might want to wait for 4.8

                              Again once 4.8 rolls around it is likely that there will be an easier workflow for plugins in packaged games and not requiring as much C++ awareness or fancy components.

                              These issues have probably already been resolved because no one can purchase a C++ plugin and ship it to Android unless Epic has already resolved this issues.

                              ~~~

                              Solution From Another User

                              Here's a solution mentioned by another user:

                              Code:
                              i had to rebuild the solution, and compile to the targets (android, ios, etc.) in shipping mode.
                              Now it works.
                              Thanks.


                              ~~~

                              Additional Input Requested

                              I know there are people who have gotten my plugin to work great on Android, I'd love to hear their input on this matter as I've not been developing for Android in my own projects.



                              Rama
                              Last edited by Rama; 05-25-2015, 04:55 PM.
                              100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

                              UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

                              Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

                              Comment


                                Get OS Platform

                                Click image for larger version

Name:	OSGet.jpg
Views:	7
Size:	127.5 KB
ID:	1078879

                                You can use this node to script different logic based on which operating system is currently being used!

                                Platforms you can check for:

                                Windows
                                Mac
                                Linux

                                PS4
                                XBoxOne

                                iOS
                                Android

                                HTML5

                                WIN RT
                                WIN RT ARM


                                ~~~

                                Download Link (650kb)

                                UE4 Wiki, Plugin Download Page
                                https://wiki.unrealengine.com/File:VictoryPlugin.zip



                                Rama
                                Last edited by Rama; 05-25-2015, 05:15 PM.
                                100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

                                UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

                                Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

                                Comment

                                Working...
                                X