Thanks .
Is there a to add node for unloading level instance?
Yes or No, is still Awesome! Thanks!
Hi , maybe you missed the question I posted on 04-10-2017. I see you have released a new version of your awesome plug-in.
4.15 Build
VictoryBPFunctionLibrary.cpp
line 4651
RawColorArray NULL
Exception thrown at 0x000007FEDF347110 (UE4Editor-Core.dll) in UE4Editor.exe: 0xC0000005: Access violation reading location 0x0000000000000002.
not work Victory_GetPixelFromT2D in 4.15 Build
Victory_GetPixelsArrayFromT2D
PixelArray.Add(RawColorArray[x * TextureWidth + y]); -> PixelArray.Add(RawColorArray[y * TextureWidth + x]);
Hi, Everybody. Everything ok ? I hope yes.
So, I just install the UE 4.16. Iām loving it, but I need rebuild my Victory Plugin Plugin to run into UE 4.16. How can I make it ? Somebody it has a tutorial ?
Thank You
Hi,
I downloaded the latest version of the plugin and get an error that looks very much like Sarlackās problem. I get an error when packaging to win64, using 4.15.1.
The packaging fails when nativization is enabled for blueprints that use pluginās nodes.
...\epic games\ue_4.15\engine\source\runtime\umg\public\Components/SlateWrapperTypes.h(10): fatal error C1083: Cannot open include file: 'SlateWrapperTypes.generated.h': No such file or directory
looks very similar to Sarlackās problem, which it seems got solved with the latest plugin version.
Thank you very much Your plugin is love, your plugin is life
Another nativization?
I wonder if we can solve it the same wayā¦
Iāve got problem. My UE version 15.2, I try latest build which made for UE 15.1. Iāve extracted folder and place it on Engine/Plugins/Runtime I can see it available in the Plugin management and Iāve enabled it but there are no any new blueprint function.
My machine is MAC is it relates ?
Oh, now I know I have to add Mac to WhitelistPlatforms list
I actually still canāt package with nativization enabled. It errors on the Array_Sort and TEnumAsByte, but Iām not sure if these are related to the victory plugin or not. I am using the Sort function from the Victory plugin.
Hi, Iām having issues installing the plugin. Your installation instructions say to do the following:
However, I feel like is oversimplified because I see posts about installing plugins and they mention compiling C++ code, messing with the .uproject files, and messing with .ini files. The plugin does not appear in the plugins list. Iām using 4.15, if it matters.
These nodes is currently in the plugin now!
Also you donāt really need to use the nodes
**Just drag off from the kismet level instance ptr and set ShouldBeLoaded to false
**
is one of the only parts of the engine that works way, where you can just set a bool that the engine auto checks each tick, rather than having to call a function
Hi.
First of great work!
[HR][/HR]
Iām trying to port my game to Linux, using cross platform tools. Packing goes well, but when I try to run game on Linux Iām getting error in terminal.
[2017.05.22-11.12.02:360] 0]LogProperty:Error: Struct type unknown for property 'StructProperty /Game/Blueprints/VRPlayerController.VRPlayerController_C:ExecuteUbergraph_VRPlayerController.CallFunc_VictoryGetAllActionKeyBindings_Bindings.CallFunc_VictoryGetAllActionKeyBindings_Bindings'; perhaps the USTRUCT() was renamed or deleted?
Iām using UE4.14, windows version of game works well.
@any thought about the voice capture node , just being able to capture and process it into a sound node would be great. thanks
Here you go latest updated to 4.16 with header change to.
https://cp.sync.com/dl/e1427ee40#4tw5h2jy-bz3nbvat-sarwuuqf-ra53r5kj
Hey !
Firstly your plugin is awesome!
I also bought your save plugin, **** good plugin!
I got one quick question.
I was looking for a way to spawn actor in sublevels, and I saw your plugin supports that.
However, you canāt pass parameters like original SpawnActorFromClass did.
I did some research, and it is possible to archive what I wanted but I need to modify engine source code and recompile engine.
Since other members of my team use precompiled version from Launcher so the only option for me is to write a plugin.
But I found that if I write a plugin, I need to access UGameplayStatics.h which is not possible.
So is a dead end, right?
My question is, is it possible to write a plugin let original SpawnActorFromClass supports spawning in sublevels?
Not (I wish), but I tried the same thing as you. In my experience you have two options.
- Copy the code from the VictoryPlugin, for the spawn node, in your own C++ function library and modify it:
AC_Building* UC_FunctionLibrary::SpawnBuildingIntoLevel(UObject* WorldContextObject, TSubclassOf<AC_Building> BuildingType, ESpawnActorCollisionHandlingMethod CollisionOverride, FTransform const SpawnTransform, int32 CityIndex, EBuildingTier BuildingTier, bool IsAlive, bool PhysicsEnabled, bool IsTwin, AActor* Owner)
{
if (!GEngine)
{
UE_LOG(LogCore, Error, TEXT("FAILED: %s - SpawnBuildingIntoLevel -> GEngine is not valid!"), *WorldContextObject->GetName());
return nullptr;
}
if (!BuildingType)
{
UE_LOG(LogCore, Error, TEXT("FAILED: %s - SpawnBuildingIntoLevel -> BuildingType is not valid!"), *WorldContextObject->GetName());
return nullptr;
}
//using a context to get the world!
UWorld* const World = GEngine->GetWorldFromContextObject(WorldContextObject);
if (!World)
{
UE_LOG(LogCore, Error, TEXT("FAILED: %s - SpawnBuildingIntoLevel -> World is not valid!"), *WorldContextObject->GetName());
return nullptr;
}
//Create SpawnParameters
FActorSpawnParameters SpawnParameters;
SpawnParameters.SpawnCollisionHandlingOverride = CollisionOverride;
SpawnParameters.bDeferConstruction = true;
SpawnParameters.bAllowDuringConstructionScript = false;
SpawnParameters.Owner = Owner;
//Get Level from Name based on CityIndex.
ULevel* FoundLevel = nullptr;
FString LevelName = GetGameSettings()->CityPrefix;
LevelName += DoubleDigitInt(CityIndex);
for (const ULevelStreaming* EachLevel : World->StreamingLevels)
{
if (!EachLevel) continue;
//~~~~~~~~~~~~~~~~
ULevel* LevelPtr = EachLevel->GetLoadedLevel();
//Valid?
if (!LevelPtr) continue;
FString x = EachLevel->GetWorldAssetPackageName();
//
x = x.Right(7);
if (x == LevelName)
{
FoundLevel = LevelPtr;
break;
}
}
//~~~~~~~~~~~~~~~~~~~~~
if (FoundLevel)
{
SpawnParameters.OverrideLevel = FoundLevel;
}
//~~~~~~~~~~~~~~~~~~~~~
AC_Building* SpawnedBuilding = nullptr;
//World->SpawnActorDeferred<BuildingType>(BuildingType, &, &, nullptr, nullptr, false);
//World->SpawnActor(SpawnParameters);
SpawnedBuilding = World->SpawnActor<AC_Building>(BuildingType, SpawnTransform.GetLocation(), SpawnTransform.Rotator(), SpawnParameters);
//SpawnedBuilding = World->SpawnActorDeferred<AC_Building>(BuildingType, SpawnTransform);
if (SpawnedBuilding)
{
SpawnedBuilding->SetCityIndex(CityIndex);
SpawnedBuilding->BuildingTier = BuildingTier;
SpawnedBuilding->isAlive = IsAlive;
SpawnedBuilding->isBuildingTwin = IsTwin;
SpawnedBuilding->PhysicsEnabled = PhysicsEnabled;
UGameplayStatics::FinishSpawningActor(SpawnedBuilding, SpawnTransform);
}
else
{
UE_LOG(LogCore, Error, TEXT("FAILED: %s - SpawnBuildingIntoLevel -> SpawnedBuilding failed to spawn!"), *WorldContextObject->GetName());
return nullptr;
}
return SpawnedBuilding;
}
- Use the default spawning node and assign an actor that already is in that sublevel as the āOwnerā. will set the spawn actor as part of that sublevel as well. <- I did by accident and seemed to work.
Thought Iād mention that there are some warnings when building a project:
"UnrealBuildTool: H:\Unreal Projects\MyGame\Plugins\VictoryPlugin\Source\VictoryBPLibrary\Public\VictoryBPFunctionLibrary.h(867): warning C4996: āFBox::FBoxā: Use ForceInit constructor instead. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
"