Repository navigation
Getting started with the monorepo #2
Replies: 18 comments 5 replies
|
I can field 3 right now. It's doable but very difficult. You'd certainly need a lot of what's currently in artillery, but you could probably break the busy worker and the supporting machinery out into a plugin, then break the busyworker down into a template pattern and converge the architecture so that there's the "WorldSim thread" and then the AI and Ticklite threads are just instances of a "Worker thread" pattern. I think it'd be quite a lot of work but not by any stretch intractable as long as you were irreligious about which parts of artillery you used. 2: Barrage can absolutely be used almost on its own. You'll want Skeleton Key and Locomo, but other than that, barrage is intentionally divorced from the rest since we used chaos to stand up artillery. That's why the arch is so modular. It was built in parts for testability.
|
|
Almost certainly — if you put an PR up here we'll take it for a spin. One
problem is that libcuckoo does require exceptions.
The other issue is that you do need to install the cmake version we ship
with barrage
…On Wed, May 7, 2025, 11:58 PM Jake S ***@***.***> wrote:
Sounds good. For now I may just forgo point 3 and just strap a busy worker
to Barrage like you suggested on LinkedIn.
I'm also contemplating fiddling around in Jolt.cmake to resolve the
_HAS_EXCEPTIONS issue we discussed. Think that would be worth upstreaming
to Jolt as well?
—
Reply to this email directly, view it on GitHub
<#2 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AB3D7BZQ4TCA2VP2YLSH6UT25LI7TAVCNFSM6AAAAAB4VJL5MSVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTGMBXGA2TQMQ>
.
You are receiving this because you commented.Message ID:
<OversizedSunCoreDev/ArtilleryEco/repo-discussions/2/comments/13070582@
github.com>
|
|
Sounds good. I can add the patch up on our side.
…On Thu, May 8, 2025, 10:59 AM Jake S ***@***.***> wrote:
I don't think libcuckoo will cause an issue. The problem with the
_HAS_EXCEPTIONS redefinition appears to be entirely within JoltPhysics; it
is something I experienced when trying to integrate Jolt on my own, without
using libcuckoo. (And the redefinition is actually turning _HAS_EXCEPTIONS
off anyway.)
I'm most likely just going to add an extra option like TARGET_UE that
skips the generator expression on line 518 of Jolt.cmake:
if (NOT CPP_EXCEPTIONS_ENABLED)
# Disable use of exceptions in MSVC's STL
target_compile_definitions(Jolt PUBLIC $<$<BOOL:${MSVC}>:_HAS_EXCEPTIONS=0>)
endif()
This appears to be the source of the redefinition and hopefully killing it
will JustWork:tm:
—
Reply to this email directly, view it on GitHub
<#2 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AB3D7B7MWQAJSJBFBKPELZT25NWMDAVCNFSM6AAAAAB4VJL5MSVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTGMBXG4ZTKMQ>
.
You are receiving this because you commented.Message ID:
<OversizedSunCoreDev/ArtilleryEco/repo-discussions/2/comments/13077352@
github.com>
|
|
Okay, I need some support with getting this built. I still can't build the monorepo, and extracting just Barrage, SkeletonKey, and UE4CMake from the monorepo and trying to build that doesn't work either. I can't fork Barrage and work their either since that repo is so out of date. Can't wait to get cracking once the teething troubles are sorted out 🙂 |
|
Can you paste your build error for the full mono repo at me?
…On Thu, May 8, 2025, 8:55 PM Jake S ***@***.***> wrote:
Okay, I need some support with getting this built. I still can't build the
monorepo, and extracting just Barrage, SkeletonKey, and UE4CMake from the
monorepo and trying to build that doesn't work either. I can't fork Barrage
and work their either since that repo is so out of date.
Can't wait to get cracking once the teething troubles are sorted out 🙂
—
Reply to this email directly, view it on GitHub
<#2 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AB3D7B6SXKWU2WUCJLBLY7T25P4HFAVCNFSM6AAAAAB4VJL5MSVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTGMBYGIZDOMQ>
.
You are receiving this because you commented.Message ID:
<OversizedSunCoreDev/ArtilleryEco/repo-discussions/2/comments/13082272@
github.com>
|
|
It's all in the first post. Just cloning and building as-is makes UE4CMake confused: Since it looks like UE4CMake is expecting to live directly in the Plugins folder and not Plugins\ArtilleryEco I pulled it out, which solved the CMake issue, but then I got a whole host of undeclared identifiers. I tried pulling all of the plugins directly into the Plugins folder thinking that maybe include paths were getting confused and I got the same undeclared identifier errors. (c.f. the second error log in the first post for the full list.) |
|
This is my fault! Each of these is a true individual plugin, so putting
them all in base plugins is most correct. You will also need to make sure
you have installed the cmake version packed with barrage.
I'll review the error log, resolve it, and harden against this. More later
tonight.
…On Sat, May 10, 2025, 9:48 AM Jake S ***@***.***> wrote:
It's all in the first post. Just cloning and building as-is makes UE4CMake
confused:
0>Unable to instantiate module 'JoltPhysics': System.IO.DirectoryNotFoundException: Could not find a part of the path 'W:\Dev\TestProjects\Artillery55Test\Plugins\UE4CMake\Source\CMakeLists.in'.
Since it looks like UE4CMake is expecting to live directly in the Plugins
folder and not Plugins\ArtilleryEco I pulled it out, which solved the CMake
issue, but then I got a whole host of undeclared identifiers. I tried
pulling *all* of the plugins directly into the Plugins folder thinking
that maybe include paths were getting confused and I got the same
undeclared identifier errors. (c.f. the second error log in the first post
for the full list.)
—
Reply to this email directly, view it on GitHub
<#2 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AB3D7B4CR565U6AWM6H42Y325X7T3AVCNFSM6AAAAAB4VJL5MSVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTGMBZHE4TINI>
.
You are receiving this because you commented.Message ID:
<OversizedSunCoreDev/ArtilleryEco/repo-discussions/2/comments/13099945@
github.com>
|
|
Sounds good! In the meantime I've verified on my personal Jolt project that my proposed changes solve the _HAS_EXCEPTIONS issue. I'm gonna go ahead and try and upstream that change to Jolt since there seems to be a growing number of people interested in using Jolt with UE. (There are dozens of us!) |
|
I agree with jorrit, since that is not something which changes over a
project's life.
…On Sat, May 10, 2025, 2:38 PM Jake S ***@***.***> wrote:
OK, so my patch didn't get upstreamed but Jorrit has already merged a
different fix for the _HAS_EXCEPTIONS issue. He preferred the approach of
moving the definition out of CMake and into Core.h rather than starting to
add project-specific flags to Jolt.
—
Reply to this email directly, view it on GitHub
<#2 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AB3D7B7GU4GCXHCYKBWF2W325ZBTPAVCNFSM6AAAAAB4VJL5MSVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTGMJQGE2TCNQ>
.
You are receiving this because you commented.Message ID:
<OversizedSunCoreDev/ArtilleryEco/repo-discussions/2/comments/13101516@
github.com>
|
|
Hello there! Apologies for the delay, working on getting this fixed now. I have made a new test project in UE5.5 and just cloned the repo and tried to build and got the same Edit: Small update: Looks like there is some build order fun going on here. Specifically for the |
|
Sounds good, thank you, Sam! 🙂 |
|
Got some fixes up in PR #3, still have one build issue that needs sorting out. |
|
Hey @STIXTheMachine, just checking in! Have you had a chance to pull latest and run another build? I'm still seeing the SSE2 compilation error on my end, but that seems to be a linker error and I did just have to update to VS 2022, so could be on my end. |
|
@hasenbas Cloning directly into the plugins folder and attempting to build gave me the following errors: The offending code: template <class T> class TagPack16 :Packable16
{
Bigby* PackImpl() override
{
return T.PackImpl();
};
};
template <class T> class TagPack8 :Packable8
{
uint64_t* PackImpl() override
{
return T.PackImpl();
}
};Changing both instances of I'm quite curious as to how you all have the plugins set up in your game if I'm experiencing all of these issues that y'all aren't. Are you able to share specifics? |
|
Having some compiler issues as well. Here is the environment and the error. I don't want to just go around throwing headers in if places if people are getting good builds: Unreal Engine 5.6
Configuration: DebugGame_Editor x64, Development x64, Development_Editor x64, Shipping x64 |
|
I don't believe we actually use flat Hashmap so rip it out for now.
…On Tue, Jul 29, 2025, 1:46 PM ◄hollsteinm► ***@***.***> wrote:
Having some compiler issues as well. Here is the environment and the
error. I don't want to just go around throwing headers in if places if
people are getting good builds:
Unreal Engine 5.6
Using Visual Studio 2022 14.38.33135 toolchain (C:\Program Files\Microsoft
Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130) and Windows
10.0.22621.0 SDK (C:\Program Files (x86)\Windows Kits\10).
Configuration: DebugGame_Editor x64, Development x64, Development_Editor
x64, Shipping x64
1>[44/89] Compile [x64] LocomoCore.cpp
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Public\Structures\flat_hash_map.hpp(1476,16): error C2039: 'out_of_range': is not a member of 'std'
1> throw std::out_of_range("Argument passed to at() was not in the map.");
1> ^
1>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\functional(31,1): note: see declaration of 'std'
1>_STD_BEGIN
1>^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Public\Structures\flat_hash_map.hpp(1484,16): error C2039: 'out_of_range': is not a member of 'std'
1> throw std::out_of_range("Argument passed to at() was not in the map.");
1> ^
1>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\functional(31,1): note: see declaration of 'std'
1>_STD_BEGIN
1>^
1>[45/89] Compile [x64] softheap.cpp
1>[46/89] Compile [x64] ParallelFixedDeadliner.cpp
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Public\Structures\flat_hash_map.hpp(1476,16): error C2039: 'out_of_range': is not a member of 'std'
1> throw std::out_of_range("Argument passed to at() was not in the map.");
1> ^
1>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\functional(31,1): note: see declaration of 'std'
1>_STD_BEGIN
1>^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Public\Structures\flat_hash_map.hpp(1484,16): error C2039: 'out_of_range': is not a member of 'std'
1> throw std::out_of_range("Argument passed to at() was not in the map.");
1> ^
1>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\functional(31,1): note: see declaration of 'std'
1>_STD_BEGIN
1>^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Public\Structures\ParallelFixedDeadliner.h(43,28): error C2039: 'once_flag': is not a member of 'std'
1> static thread_local std::once_flag bound;
1> ^
1>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\functional(31,1): note: see declaration of 'std'
1>_STD_BEGIN
1>^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Public\Structures\ParallelFixedDeadliner.h(43,28): note: the template instantiation context (the oldest one first) is
1> static thread_local std::once_flag bound;
1> ^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Public\Structures\ParallelFixedDeadliner.h(89,2): note: see reference to class template instantiation 'FParallelFixedQueue<Payload>' being compiled
1>};
1> ^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Public\Structures\ParallelFixedDeadliner.h(44,8): error C2039: 'call_once': is not a member of 'std'
1> std::call_once(bound, [this]
1> ^
1>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\functional(31,1): note: see declaration of 'std'
1>_STD_BEGIN
1>^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Private\ParallelFixedDeadliner.cpp(7,27): error C2039: 'once_flag': is not a member of 'std'
1> static thread_local std::once_flag bound;
1> ^
1>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\functional(31,1): note: see declaration of 'std'
1>_STD_BEGIN
1>^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Private\ParallelFixedDeadliner.cpp(7,42): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1> static thread_local std::once_flag bound;
1> ^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Private\ParallelFixedDeadliner.cpp(7,37): error C2146: syntax error: missing ';' before identifier 'bound'
1> static thread_local std::once_flag bound;
1> ^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Private\ParallelFixedDeadliner.cpp(7,37): error C2065: 'bound': undeclared identifier
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Private\ParallelFixedDeadliner.cpp(8,7): error C2039: 'call_once': is not a member of 'std'
1> std::call_once(bound, [this]
1> ^
1>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\functional(31,1): note: see declaration of 'std'
1>_STD_BEGIN
1>^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Private\ParallelFixedDeadliner.cpp(8,17): error C2065: 'bound': undeclared identifier
1> std::call_once(bound, [this]
1> ^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Private\ParallelFixedDeadliner.cpp(8,7): error C3861: 'call_once': identifier not found
1> std::call_once(bound, [this]
...
1>[58/89] Compile [x64] ORDIN.cpp
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\SkeletonKey\Source\SkeletonKey\Private\ORDIN.cpp(110,16): error C2039: 'invalid_argument': is not a member of 'std'
1> throw std::invalid_argument("Invalid group");
1> ^
1>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\thread(37,1): note: see declaration of 'std'
1>_STD_BEGIN
1>^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\SkeletonKey\Source\SkeletonKey\Private\ORDIN.cpp(110,16): error C3861: 'invalid_argument': identifier not found
1> throw std::invalid_argument("Invalid group");
1> ^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\SkeletonKey\Source\SkeletonKey\Private\ORDIN.cpp(120,15): error C2039: 'invalid_argument': is not a member of 'std'
1> throw std::invalid_argument("Invalid group");
1> ^
1>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\thread(37,1): note: see declaration of 'std'
1>_STD_BEGIN
1>^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\SkeletonKey\Source\SkeletonKey\Private\ORDIN.cpp(120,15): error C3861: 'invalid_argument': identifier not found
1> throw std::invalid_argument("Invalid group");
1>
...
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\Thistle\Source\ThistleRuntime\Private\ThistleBehavioralist.cpp(237,22): warning C4996: 'USmartObjectSubsystem::RegisterSmartObject': Use the overload taking a pointer to the component instead. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
1> SmartObjectSubsystem->RegisterSmartObject(*RallyRegistering->GetComponentByClass<USmartObjectComponent>());
1> ^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\Thistle\Source\ThistleRuntime\Private\ThistleBehavioralist.cpp(335,30): error C2079: 'Claimed' uses undefined struct 'FSmartObjectRequestFilter'
1> FSmartObjectRequestFilter Claimed = FSmartObjectRequestFilter();
1> ^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\Thistle\Source\ThistleRuntime\Private\ThistleBehavioralist.cpp(335,65): error C2027: use of undefined type 'FSmartObjectRequestFilter'
1> FSmartObjectRequestFilter Claimed = FSmartObjectRequestFilter();
1> ^
1>G:\epic\UE_5.6\Engine\Plugins\Runtime\SmartObjects\Source\SmartObjectsModule\Public\SmartObjectSubsystem.h(27,8): note: see declaration of 'FSmartObjectRequestFilter'
1>struct FSmartObjectRequestFilter;
1> ^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\Thistle\Source\ThistleRuntime\Private\ThistleBehavioralist.cpp(338,24): error C2665: 'USmartObjectSubsystem::FindSlots': no overloaded function could convert all the argument types
1> SmartObjectSubsystem->FindSlots(LiveHandle, Claimed, Slots);
1> ^
1>G:\epic\UE_5.6\Engine\Plugins\Runtime\SmartObjects\Source\SmartObjectsModule\Public\SmartObjectSubsystem.h(564,30): note: could be 'void USmartObjectSubsystem::FindSlots(const FSmartObjectHandle,const FSmartObjectRequestFilter &,TArray<FSmartObjectSlotHandle,FDefaultAllocator> &,const FConstStructView) const'
1> SMARTOBJECTSMODULE_API void FindSlots(const FSmartObjectHandle Handle, const FSmartObjectRequestFilter& Filter, TArray<FSmartObjectSlotHandle>& OutSlots, const FConstStructView UserData = {}) const;
1> ^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\Thistle\Source\ThistleRuntime\Private\ThistleBehavioralist.cpp(338,24): note: 'void USmartObjectSubsystem::FindSlots(const FSmartObjectHandle,const FSmartObjectRequestFilter &,TArray<FSmartObjectSlotHandle,FDefaultAllocator> &,const FConstStructView) const': cannot convert argument 2 from 'int' to 'const FSmartObjectRequestFilter &'
1> SmartObjectSubsystem->FindSlots(LiveHandle, Claimed, Slots);
1> ^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\Thistle\Source\ThistleRuntime\Private\ThistleBehavioralist.cpp(338,48): note: Reason: cannot convert from 'int' to 'const FSmartObjectRequestFilter'
1> SmartObjectSubsystem->FindSlots(LiveHandle, Claimed, Slots);
1> ^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\Thistle\Source\ThistleRuntime\Private\ThistleBehavioralist.cpp(338,48): note: use of undefined type 'FSmartObjectRequestFilter'
1>G:\epic\UE_5.6\Engine\Plugins\Runtime\SmartObjects\Source\SmartObjectsModule\Public\SmartObjectSubsystem.h(27,8): note: see declaration of 'FSmartObjectRequestFilter'
1>struct FSmartObjectRequestFilter;
1> ^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\Thistle\Source\ThistleRuntime\Private\ThistleBehavioralist.cpp(338,24): note: while trying to match the argument list '(const FSmartObjectHandle, int, TArray<FSmartObjectSlotHandle,FDefaultAllocator>)'
1> SmartObjectSubsystem->FindSlots(LiveHandle, Claimed, Slots);
1> ^
1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\Thistle\Source\ThistleRuntime\Private\ThistleBehavioralist.cpp(345,54): warning C4996: 'USmartObjectSubsystem::GetSlotView': Use ReadSlotData or MutateSlotData instead. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
1> FSmartObjectSlotView that = SmartObjectSubsystem->GetSlotView(slot);
—
Reply to this email directly, view it on GitHub
<#2 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AB3D7BYBWG4YB3RDSYNHAF33K6XRHAVCNFSM6AAAAAB4VJL5MSVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTGOJSGUZTENQ>
.
You are receiving this because you commented.Message ID:
<OversizedSunCoreDev/ArtilleryEco/repo-discussions/2/comments/13925326@
github.com>
|
|
Aw heck. We may. If removal doesn't work, please try adding the headers -
we have to get the build to be deterministic regardless of tlu order.
…On Tue, Jul 29, 2025, 3:30 PM Jake Kurzer ***@***.***> wrote:
I don't believe we actually use flat Hashmap so rip it out for now.
On Tue, Jul 29, 2025, 1:46 PM ◄hollsteinm► ***@***.***>
wrote:
> Having some compiler issues as well. Here is the environment and the
> error. I don't want to just go around throwing headers in if places if
> people are getting good builds:
>
> Unreal Engine 5.6
>
> Using Visual Studio 2022 14.38.33135 toolchain (C:\Program
> Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130) and
> Windows 10.0.22621.0 SDK (C:\Program Files (x86)\Windows Kits\10).
>
> Configuration: DebugGame_Editor x64, Development x64, Development_Editor
> x64, Shipping x64
>
> 1>[44/89] Compile [x64] LocomoCore.cpp
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Public\Structures\flat_hash_map.hpp(1476,16): error C2039: 'out_of_range': is not a member of 'std'
> 1> throw std::out_of_range("Argument passed to at() was not in the map.");
> 1> ^
> 1>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\functional(31,1): note: see declaration of 'std'
> 1>_STD_BEGIN
> 1>^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Public\Structures\flat_hash_map.hpp(1484,16): error C2039: 'out_of_range': is not a member of 'std'
> 1> throw std::out_of_range("Argument passed to at() was not in the map.");
> 1> ^
> 1>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\functional(31,1): note: see declaration of 'std'
> 1>_STD_BEGIN
> 1>^
> 1>[45/89] Compile [x64] softheap.cpp
> 1>[46/89] Compile [x64] ParallelFixedDeadliner.cpp
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Public\Structures\flat_hash_map.hpp(1476,16): error C2039: 'out_of_range': is not a member of 'std'
> 1> throw std::out_of_range("Argument passed to at() was not in the map.");
> 1> ^
> 1>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\functional(31,1): note: see declaration of 'std'
> 1>_STD_BEGIN
> 1>^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Public\Structures\flat_hash_map.hpp(1484,16): error C2039: 'out_of_range': is not a member of 'std'
> 1> throw std::out_of_range("Argument passed to at() was not in the map.");
> 1> ^
> 1>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\functional(31,1): note: see declaration of 'std'
> 1>_STD_BEGIN
> 1>^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Public\Structures\ParallelFixedDeadliner.h(43,28): error C2039: 'once_flag': is not a member of 'std'
> 1> static thread_local std::once_flag bound;
> 1> ^
> 1>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\functional(31,1): note: see declaration of 'std'
> 1>_STD_BEGIN
> 1>^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Public\Structures\ParallelFixedDeadliner.h(43,28): note: the template instantiation context (the oldest one first) is
> 1> static thread_local std::once_flag bound;
> 1> ^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Public\Structures\ParallelFixedDeadliner.h(89,2): note: see reference to class template instantiation 'FParallelFixedQueue<Payload>' being compiled
> 1>};
> 1> ^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Public\Structures\ParallelFixedDeadliner.h(44,8): error C2039: 'call_once': is not a member of 'std'
> 1> std::call_once(bound, [this]
> 1> ^
> 1>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\functional(31,1): note: see declaration of 'std'
> 1>_STD_BEGIN
> 1>^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Private\ParallelFixedDeadliner.cpp(7,27): error C2039: 'once_flag': is not a member of 'std'
> 1> static thread_local std::once_flag bound;
> 1> ^
> 1>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\functional(31,1): note: see declaration of 'std'
> 1>_STD_BEGIN
> 1>^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Private\ParallelFixedDeadliner.cpp(7,42): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
> 1> static thread_local std::once_flag bound;
> 1> ^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Private\ParallelFixedDeadliner.cpp(7,37): error C2146: syntax error: missing ';' before identifier 'bound'
> 1> static thread_local std::once_flag bound;
> 1> ^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Private\ParallelFixedDeadliner.cpp(7,37): error C2065: 'bound': undeclared identifier
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Private\ParallelFixedDeadliner.cpp(8,7): error C2039: 'call_once': is not a member of 'std'
> 1> std::call_once(bound, [this]
> 1> ^
> 1>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\functional(31,1): note: see declaration of 'std'
> 1>_STD_BEGIN
> 1>^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Private\ParallelFixedDeadliner.cpp(8,17): error C2065: 'bound': undeclared identifier
> 1> std::call_once(bound, [this]
> 1> ^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\LocomoCore\Source\LocomoCore\Private\ParallelFixedDeadliner.cpp(8,7): error C3861: 'call_once': identifier not found
> 1> std::call_once(bound, [this]
>
> ...
>
> 1>[58/89] Compile [x64] ORDIN.cpp
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\SkeletonKey\Source\SkeletonKey\Private\ORDIN.cpp(110,16): error C2039: 'invalid_argument': is not a member of 'std'
> 1> throw std::invalid_argument("Invalid group");
> 1> ^
> 1>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\thread(37,1): note: see declaration of 'std'
> 1>_STD_BEGIN
> 1>^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\SkeletonKey\Source\SkeletonKey\Private\ORDIN.cpp(110,16): error C3861: 'invalid_argument': identifier not found
> 1> throw std::invalid_argument("Invalid group");
> 1> ^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\SkeletonKey\Source\SkeletonKey\Private\ORDIN.cpp(120,15): error C2039: 'invalid_argument': is not a member of 'std'
> 1> throw std::invalid_argument("Invalid group");
> 1> ^
> 1>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\thread(37,1): note: see declaration of 'std'
> 1>_STD_BEGIN
> 1>^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\SkeletonKey\Source\SkeletonKey\Private\ORDIN.cpp(120,15): error C3861: 'invalid_argument': identifier not found
> 1> throw std::invalid_argument("Invalid group");
> 1>
>
> ...
>
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\Thistle\Source\ThistleRuntime\Private\ThistleBehavioralist.cpp(237,22): warning C4996: 'USmartObjectSubsystem::RegisterSmartObject': Use the overload taking a pointer to the component instead. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
> 1> SmartObjectSubsystem->RegisterSmartObject(*RallyRegistering->GetComponentByClass<USmartObjectComponent>());
> 1> ^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\Thistle\Source\ThistleRuntime\Private\ThistleBehavioralist.cpp(335,30): error C2079: 'Claimed' uses undefined struct 'FSmartObjectRequestFilter'
> 1> FSmartObjectRequestFilter Claimed = FSmartObjectRequestFilter();
> 1> ^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\Thistle\Source\ThistleRuntime\Private\ThistleBehavioralist.cpp(335,65): error C2027: use of undefined type 'FSmartObjectRequestFilter'
> 1> FSmartObjectRequestFilter Claimed = FSmartObjectRequestFilter();
> 1> ^
> 1>G:\epic\UE_5.6\Engine\Plugins\Runtime\SmartObjects\Source\SmartObjectsModule\Public\SmartObjectSubsystem.h(27,8): note: see declaration of 'FSmartObjectRequestFilter'
> 1>struct FSmartObjectRequestFilter;
> 1> ^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\Thistle\Source\ThistleRuntime\Private\ThistleBehavioralist.cpp(338,24): error C2665: 'USmartObjectSubsystem::FindSlots': no overloaded function could convert all the argument types
> 1> SmartObjectSubsystem->FindSlots(LiveHandle, Claimed, Slots);
> 1> ^
> 1>G:\epic\UE_5.6\Engine\Plugins\Runtime\SmartObjects\Source\SmartObjectsModule\Public\SmartObjectSubsystem.h(564,30): note: could be 'void USmartObjectSubsystem::FindSlots(const FSmartObjectHandle,const FSmartObjectRequestFilter &,TArray<FSmartObjectSlotHandle,FDefaultAllocator> &,const FConstStructView) const'
> 1> SMARTOBJECTSMODULE_API void FindSlots(const FSmartObjectHandle Handle, const FSmartObjectRequestFilter& Filter, TArray<FSmartObjectSlotHandle>& OutSlots, const FConstStructView UserData = {}) const;
> 1> ^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\Thistle\Source\ThistleRuntime\Private\ThistleBehavioralist.cpp(338,24): note: 'void USmartObjectSubsystem::FindSlots(const FSmartObjectHandle,const FSmartObjectRequestFilter &,TArray<FSmartObjectSlotHandle,FDefaultAllocator> &,const FConstStructView) const': cannot convert argument 2 from 'int' to 'const FSmartObjectRequestFilter &'
> 1> SmartObjectSubsystem->FindSlots(LiveHandle, Claimed, Slots);
> 1> ^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\Thistle\Source\ThistleRuntime\Private\ThistleBehavioralist.cpp(338,48): note: Reason: cannot convert from 'int' to 'const FSmartObjectRequestFilter'
> 1> SmartObjectSubsystem->FindSlots(LiveHandle, Claimed, Slots);
> 1> ^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\Thistle\Source\ThistleRuntime\Private\ThistleBehavioralist.cpp(338,48): note: use of undefined type 'FSmartObjectRequestFilter'
> 1>G:\epic\UE_5.6\Engine\Plugins\Runtime\SmartObjects\Source\SmartObjectsModule\Public\SmartObjectSubsystem.h(27,8): note: see declaration of 'FSmartObjectRequestFilter'
> 1>struct FSmartObjectRequestFilter;
> 1> ^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\Thistle\Source\ThistleRuntime\Private\ThistleBehavioralist.cpp(338,24): note: while trying to match the argument list '(const FSmartObjectHandle, int, TArray<FSmartObjectSlotHandle,FDefaultAllocator>)'
> 1> SmartObjectSubsystem->FindSlots(LiveHandle, Claimed, Slots);
> 1> ^
> 1>G:\Projects\Unreal\ArtilleryEcoPlugins\Plugins\Thistle\Source\ThistleRuntime\Private\ThistleBehavioralist.cpp(345,54): warning C4996: 'USmartObjectSubsystem::GetSlotView': Use ReadSlotData or MutateSlotData instead. - Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
> 1> FSmartObjectSlotView that = SmartObjectSubsystem->GetSlotView(slot);
>
> —
> Reply to this email directly, view it on GitHub
> <#2 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AB3D7BYBWG4YB3RDSYNHAF33K6XRHAVCNFSM6AAAAAB4VJL5MSVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTGOJSGUZTENQ>
> .
> You are receiving this because you commented.Message ID:
> <OversizedSunCoreDev/ArtilleryEco/repo-discussions/2/comments/13925326@
> github.com>
>
|
|
Seems worth doing finally. I'd put it off as it made no sense until we had
uptake, but it's time.
…On Tue, Jul 29, 2025, 9:00 PM ◄hollsteinm► ***@***.***> wrote:
Will do. I ran into some random build issues publishing my plugin on the
marketplace. It may benefit to add a monorepo script that runs the build
using the CLI tools provided as that does not drag in all the implied
dependencies of the game project that is created, or that of anything
precompiled and lingering around. Mostly stating this as a note of things
to do.
—
Reply to this email directly, view it on GitHub
<#2 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AB3D7B7ZYZN4P4JPRSKB3LD3LAKKTAVCNFSM6AAAAAB4VJL5MSVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTGOJSHAZTINQ>
.
You are receiving this because you commented.Message ID:
<OversizedSunCoreDev/ArtilleryEco/repo-discussions/2/comments/13928346@
github.com>
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
So originally I was messing around with the Barrage repo before Jake directed me here. Mostly because full-fat Artillery has quite a few features that are probably overkill for CoS. Happy to be here, but I do have some questions:
PublicIncludePaths.AddRange()& co. Moving to 5.5 solved this issue, however it then still failed to build, yielding the following error:Because it looked like it was expecting UE4CMake to not live in the ArtilleryEco folder, I then tried pulling UE4Cmake out and directly into the Plugins folder. That got me past the UE4CMake issue, but resulted in a large amount of undeclared identifier errors:
I then tried
git clone <repo> .to see if maybe the ArtilleryEco folder was somehow throwing off include paths and got largely the same wall of errors. What am I missing? It's gotta be something simple.If I anticipate that most of my work will be done within Barrage and that I'm not likely to need a ton of stuff from Artillery, would it be worthwhile to set it up so that Barrage is a submodule of the monorepo? (I'd think that would be optimal to do for all the dependencies, to be honest.)
What is the feasibility of factoring simulation-presentation independence out of Artillery into a standalone plugin or Barrage itself? (If it's a standalone plugin, dibs on naming it Torpedo)
All reactions