Hi all,
My workarounds to get the Ikinema Binary Indie Version, to function with the UE4 4.15 github source compilation, with engine modification optional.
UE4.15 github version, Simplygon SDK (if you want Simplygon advanced tools), and RegisterEngineVersion.cmd from Kalmalyzer GitHub - Kalmalyzer/UE4RocketBuild: Build stand-alone Rocket builds of UE4 engine yourself.
As usual setup.bat first to get libraries.
Optional:
Apply source modifications. Working with GraniteSDK & Nvidia HairWorks/VXGI 4.15 branch & Simul TrueSkyPlugin.
And amazing post from Allar’s how to update to the last SteamWorks GitHub - Allar/ue4-steamcontroller-update: A rewrite of UE4's SteamController module compatible with newer versions of the Steamworks SDK.
Recommend:
Apply SimplygonRedistUE4.
Neuron Mocap Plugin https://neuronmocap.com/content/unreal-plugin
Optional
You can add plugins to compile at this stage.
Tested with the next plugins:
Substance
FMODStudio
Wwise Audio Engine
Runtime/HoudiniEngine (remove for shipping builds)
PopcornFX
NeoFur
Epic’s market place plugins
Required:
Do not add Ikinema runtime indie plugin, when compiling engine source builds, remove it from source.
Requerid:
Edit yourUE4.1source\Engine\Source\Runtime\Launch\Resources\Version.h
Line 71 - #define BUILT_FROM_CHANGELIST 3416026
Line 106 - #define BRANCH_NAME "++UE4+Release-4.15"
Edit yourUE4.15source\Engine\Build\Build.version
{
"MajorVersion": 4,
"MinorVersion": 15,
"PatchVersion": 2,
"Changelist": 3416026,
"CompatibleChangelist": 3299760,
"IsLicenseeVersion": 0,,
"IsPromotedBuild" : 1,
"BranchName": "++UE4+Release-4.15"
}
At this point we will try to compile an UE4 binary version with backward compatibility with Epic’s version release!
Required:
Open command prompt in your UE4.15 source directory:
copy and change 2 lines to reflect your source directory and run command:
"C:\yourUE4.15source\Engine\Build\BatchFiles\RunUAT.bat" BuildGraph -script="C:\yourUE4.15source\Engine\Build\InstalledEngineBuild.xml" -target="Make Installed Build Win64" -set:WithWin64=true -set:WithWin32=false -set:WithMac=false -set:WithAndroid=false -set:WithIOS=false -set:WithTVOS=false -set:WithLinux=false -set:WithHTML5=false -set:WithPS4=false -set:WithXboxOne=false -set:HostPlatformOnly=true -set:SignExecutables=false -NoXGE
If using Incredibuild please remove -NoXGE from command.
Wait to finish successfully Win64 compilation or Win32 compilation error, BuildGraph as bug, it will try to compile bout versions.
This next thing require that you have runned the top command before. To make the saved build with info for installed UE4 compiles.
It works with Visual Studio 2015 solution build.
Mai-be the best fast choice for building your solution.
Command prompt GenerateProjectFiles and open your solution and build what do you need.
Edit: we can do binary builds in the same UE4.15 engine source folder, add next 2 steps for Binary build, remove to recompile engine source.
Next after everything compiled, make changes to the build configs for installed binary build.
Requerid:
1º Edit yourUE4.15source\Engine\Build\SourceDistribution.txt_back and create InstalledBuild.txt.
2º Edit and add in yourUE4.15source\Engine\Config\BaseEngine.ini:
[InstalledPlatforms]
+InstalledPlatformConfigurations=(PlatformName="Win32", Configuration="DebugGame", PlatformType="Game", RequiredFile="Engine\Binaries\Win32\UE4Game.target", ProjectType="Any", bCanBeDisplayed=False)
+InstalledPlatformConfigurations=(PlatformName="Win32", Configuration="Development", PlatformType="Game", RequiredFile="Engine\Binaries\Win32\UE4Game.target", ProjectType="Any", bCanBeDisplayed=False)
+InstalledPlatformConfigurations=(PlatformName="Win32", Configuration="Shipping", PlatformType="Game", RequiredFile="Engine\Binaries\Win32\UE4Game-Win32-Shipping.target", ProjectType="Any", bCanBeDisplayed=False)
+InstalledPlatformConfigurations=(PlatformName="Win64", Configuration="DebugGame", PlatformType="Game", RequiredFile="Engine\Binaries\Win64\UE4Game.target", ProjectType="Any", bCanBeDisplayed=False)
+InstalledPlatformConfigurations=(PlatformName="Win64", Configuration="Development", PlatformType="Game", RequiredFile="Engine\Binaries\Win64\UE4Game.target", ProjectType="Any", bCanBeDisplayed=False)
+InstalledPlatformConfigurations=(PlatformName="Win64", Configuration="Shipping", PlatformType="Game", RequiredFile="Engine\Binaries\Win64\UE4Game-Win64-Shipping.target", ProjectType="Any", bCanBeDisplayed=False)
+InstalledPlatformConfigurations=(PlatformName="IOS", Configuration="DebugGame", PlatformType="Game", RequiredFile="Engine\Binaries\IOS\UE4Game.target", ProjectType="Any", bCanBeDisplayed=False)
+InstalledPlatformConfigurations=(PlatformName="IOS", Configuration="Development", PlatformType="Game", RequiredFile="Engine\Binaries\IOS\UE4Game.target", ProjectType="Any", bCanBeDisplayed=False)
+InstalledPlatformConfigurations=(PlatformName="IOS", Configuration="Shipping", PlatformType="Game", RequiredFile="Engine\Binaries\IOS\UE4Game-IOS-Shipping.target", ProjectType="Any", bCanBeDisplayed=False)
+InstalledPlatformConfigurations=(PlatformName="Android", Configuration="DebugGame", PlatformType="Game", Architecture="-armv7-es2", RequiredFile="Engine\Binaries\Android\UE4Game.target", ProjectType="Any", bCanBeDisplayed=False)
+InstalledPlatformConfigurations=(PlatformName="Android", Configuration="DebugGame", PlatformType="Game", Architecture="-arm64-es2", RequiredFile="Engine\Binaries\Android\UE4Game.target", ProjectType="Any", bCanBeDisplayed=False)
+InstalledPlatformConfigurations=(PlatformName="Android", Configuration="Development", PlatformType="Game", Architecture="-armv7-es2", RequiredFile="Engine\Binaries\Android\UE4Game.target", ProjectType="Any", bCanBeDisplayed=False)
+InstalledPlatformConfigurations=(PlatformName="Android", Configuration="Development", PlatformType="Game", Architecture="-arm64-es2", RequiredFile="Engine\Binaries\Android\UE4Game.target", ProjectType="Any", bCanBeDisplayed=False)
+InstalledPlatformConfigurations=(PlatformName="Android", Configuration="Shipping", PlatformType="Game", Architecture="-armv7-es2", RequiredFile="Engine\Binaries\Android\UE4Game-Android-Shipping.target", ProjectType="Any", bCanBeDisplayed=False)
+InstalledPlatformConfigurations=(PlatformName="Android", Configuration="Shipping", PlatformType="Game", Architecture="-arm64-es2", RequiredFile="Engine\Binaries\Android\UE4Game-Android-Shipping.target", ProjectType="Any", bCanBeDisplayed=False)
+InstalledPlatformConfigurations=(PlatformName="HTML5", Configuration="DebugGame", PlatformType="Game", RequiredFile="Engine\Binaries\HTML5\UE4Game.target", ProjectType="Any", bCanBeDisplayed=False)
+InstalledPlatformConfigurations=(PlatformName="HTML5", Configuration="Development", PlatformType="Game", RequiredFile="Engine\Binaries\HTML5\UE4Game.target", ProjectType="Any", bCanBeDisplayed=False)
+InstalledPlatformConfigurations=(PlatformName="HTML5", Configuration="Shipping", PlatformType="Game", RequiredFile="Engine\Binaries\HTML5\UE4Game-HTML5-Shipping.target", ProjectType="Any", bCanBeDisplayed=False)
+InstalledPlatformConfigurations=(PlatformName="Linux", Configuration="DebugGame", PlatformType="Game", Architecture="x86_64-unknown-linux-gnu", RequiredFile="Engine\Binaries\Linux\UE4Game.target", ProjectType="Content", bCanBeDisplayed=True)
+InstalledPlatformConfigurations=(PlatformName="Linux", Configuration="Development", PlatformType="Game", Architecture="x86_64-unknown-linux-gnu", RequiredFile="Engine\Binaries\Linux\UE4Game.target", ProjectType="Content", bCanBeDisplayed=True)
+InstalledPlatformConfigurations=(PlatformName="Linux", Configuration="Shipping", PlatformType="Game", Architecture="x86_64-unknown-linux-gnu", RequiredFile="Engine\Binaries\Linux\UE4Game-Linux-Shipping.target", ProjectType="Content", bCanBeDisplayed=True)
+InstalledPlatformConfigurations=(PlatformName="TVOS", Configuration="DebugGame", PlatformType="Game", RequiredFile="Engine\Binaries\TVOS\UE4Game.target", ProjectType="Any", bCanBeDisplayed=False)
+InstalledPlatformConfigurations=(PlatformName="TVOS", Configuration="Development", PlatformType="Game", RequiredFile="Engine\Binaries\TVOS\UE4Game.target", ProjectType="Any", bCanBeDisplayed=False)
+InstalledPlatformConfigurations=(PlatformName="TVOS", Configuration="Shipping", PlatformType="Game", RequiredFile="Engine\Binaries\TVOS\UE4Game-TVOS-Shipping.target", ProjectType="Any", bCanBeDisplayed=False)
[Analytics]
UE4TypeOverride="Rocket"
Requerid: name your build examples
Copy to your UE4.15 source directory RegisterEngineVersion.cmd
Run command 2x time as administrator and as user in your UE4.15 source directory.
RegisterEngineVersion.cmd 4.15UI
Do not add names as from the EPI’s binary distribution build’s, you you will break EPIc’s binary registry info.
Copy Ikinema to yourUE4.15source\Engine\Plugins or yourGameBinary\Engine\Plugins
Edit yourUE4.15source\Engine\Plugins\IKinema\Binaries\Win64\UE4Editor.modules:
{
"Changelist" : 3416026,
"CompatibleChangelist" : 3299760,
"BuildId" : "",
"Modules" :
{
"JsonUtils" : "UE4Editor-JsonUtils.dll",
"IKinemaCore" : "UE4Editor-IKinemaCore.dll",
"IKinemaEditor" : "UE4Editor-IKinemaEditor.dll",
"IKinemaRigTool" : "UE4Editor-IKinemaRigTool.dll"
}
}
Edit yourUE4.15source\Engine\Plugins\IKinema\IKinema.uplugin:
{
"PluginFileVersion" : 1,
"FriendlyName" : "IKinema Animation Node",
"Version" : 26,
"VersionName" : "1.6",
"CreatedBy" : "IKinema Ltd",
"CreatedByURL" : "",
"EngineVersion" : 4.15,
"Description" : "Create Procedural animation node",
"CategoryPath" : "Animation",
"EnabledByDefault" : true,
"CanContainContent" : true,
"Installed" : true,
"RequiresBuildPlatform" : false,
"Modules" :
{
"Name" : "JsonUtils",
"Type" : "Developer",
"LoadingPhase" : "Default",
"WhitelistPlatforms" : "Win64" ]
},
{
"Name" : "IKinemaCore",
"Type" : "Runtime",
"LoadingPhase" : "PreDefault"
},
{
"Name" : "IKinemaEditor",
"Type" : "Developer",
"WhitelistPlatforms" : "Win64" ],
"LoadingPhase" : "PreDefault"
},
{
"Name" : "IKinemaRigTool",
"Type" : "Developer",
"LoadingPhase" : "PreDefault"
}
]
}
And try if its working at this stage!
Remember, for Game code source builds use ikinema in your UE4.15 Engine binary build plugins folder.
Engine||plugins source modification||update, needs intermediate folders cleanup. Between builds. Why that? Because pre-compiled headers and cpp files aren’t re-passed by unreal header tool.
Prevent nasty editor and game crash by cleaning all your intermediate source before recompile.
Important task, do not clean, recompile, rebuild in Visual Studio, this will break our installed build saved info.
Clean by manually deleting Saved and Intermediate’s folder’s and run the build command prompt as described in top.
Not working with the new Visual Studio 2017.
Works with Epic’s market place projects, blueprint, samples, examples, kits, use switch unreal engine version to your (nameyourbuild).
Project Game Packaging needs some Ikinema runtime libs clones in Ikinema Runtime Inde plugin folder win64,
Check this official info https://ikinema.com/index.php?mod=documentation&show=184&id=291
And copy and paste the libs to reflect your project game lib build name.
Beer’s up.