Dungeon Architect

GridDungeonQuery->IsNearMarker. The body is commented out. This method will no longer ever return true. PropSockets on Builder class is protected. I see there is a GetMarkers method. I am guessing the code should have been updated to use this new method instead of the property.

Thanks.

4.20 update is live in the marketplace. @DrinkThisPotion I’ll check the error tomorrow

[USER=ā€œ15635ā€]FS Creations[/USER], @elec2ron Thank you. It is not hooked with any builders/layout generators so you can’t create any levels yet. I’ll have more info on it in the next update

Submitted a new update 2.9.1

Version 2.9.1

  • Fix: Fixed a crash issue in standalone builds launched from the editor
  • New: Level streaming supports unloading of hidden maps from memory

Hello , IsNearMarker is doesn’t work. Check please. Thank you.

Hey,

Trying to compile my project in 4.20 (using vs2017) gives me the following error:


2>F:/UE4_Install/UE_4.20/Engine/Plugins/Marketplace/DungeonArchitect/Source/DungeonArchitectRuntime/Public/Builders/SnapMap/Connection/SnapMapConnectionActor.h(22) : LogCompile: Error: An explicit Category specifier is required for any property exposed to the editor or Blueprints in an Engine module.

Edit: looked at the code, my guess is you need to add a category to this line:


    UPROPERTY(BlueprintReadOnly, Transient)
    AActor* SpawnedInstance;


I tried this and it worked:


 UPROPERTY(BlueprintReadOnly, Transient, Category = DATest)
    AActor* SpawnedInstance;

Regards

Hi, there’s a problem on startup. It happens for me on a compiled build of 4.20.1 and used to never happen.

UnrealEdEngine.cpp throws an assert:



//Already present
checkSlow(ExistingSpriteInfo->DisplayName.EqualTo(InSpriteInfo.DisplayName)); //Catch mismatches between DisplayNames


The problem is these lines in SnapMapConnectionActor.cpp



if (DoorSpriteComponent) {
    DoorSpriteComponent->Sprite = ConstructorStatics.IconDoor.Get();
    DoorSpriteComponent->RelativeLocation = FVector(0, 0, 40);
    DoorSpriteComponent->RelativeScale3D = FVector(1, 1, 1);
    DoorSpriteComponent->SpriteInfo.Category = TEXT("Dungeon");    //------------Problem
    DoorSpriteComponent->SpriteInfo.DisplayName = FText::FromString("Snap Door");    //------------Problem
}

if (ConnectionConstraintSpriteComponent) {
    ConnectionConstraintSpriteComponent->RelativeLocation = FVector(0, 0, 100);
    ConnectionConstraintSpriteComponent->RelativeScale3D = FVector(0.45f, 0.45f, 0.45f);
    ConnectionConstraintSpriteComponent->SpriteInfo.Category = TEXT("Dungeon");    //------------Problem
    ConnectionConstraintSpriteComponent->SpriteInfo.DisplayName = FText::FromString("Connection Constraint");    //------------Problem
}


I dug into how spriteInfo works and DisplayName is just a localized version of the Category name. Looks like it’s not supposed to be different. They should either both be set to Dungeon or both be set to Snap Door and Connection Constraint. Alternatively just commenting those lines out helps too. This way the editor won’t throw up an assert on startup.



/** Information about the sprite category */
USTRUCT()
struct FSpriteCategoryInfo
{
    GENERATED_USTRUCT_BODY()

    /** Sprite category that the component belongs to */
    UPROPERTY()
    FName Category;

    /** Localized name of the sprite category */
    UPROPERTY()
    FText DisplayName;

    /** Localized description of the sprite category */
    UPROPERTY()
    FText Description;
};


@**uced, @illYay **I’ve submitted a new update that fixes these issues.

I’ve added a Category to the SpawnedInstance uproperty and commented out the SpriteInfo Category and Display name

Hey,

Thanks again for an amazing job. I know I asked something similar before but I asked two questions, 1 which I realized was kind of irrelevant. The only question that concerns me about the snap builder is if I can control how many times a module shows up?
I know it’s not a feature available right now but could I, for example, add to the level blueprint some sort of check for the modules, that would replace a copy or something?

Hi,

When will 2.9.1 be available for download?

Regards,
.

You are the man, thanks so much! Looking forward to it :smiley:

Hello, I was curious if you could tell me how to make a TransformLogic that allows me to make sure 1 side of a mesh is always facing ā€œinwardsā€. I have a wall mesh that is one sided and need to make sure the the material view-able side is always facing inwards towards the floor.

I have also tried making transform logic to move ā€œwallsā€ that are rotated < 90 degree’s on the Z axis, this allows me to move a wall sideways only if its rotated a certain way, but the following blueprint seems to effect all ways regardless of rotation.

Anything you could do to help would be most appreciated.

Any idea when the ā€œIs Near Markerā€ node will be fixed?

Is 4.17.x no longer supported? Dungeon Architect caused a unknown issue in my project so I decided to try reinstalling the plugin but the launcher(and the marketplace description) says 4.17 is not compatible.

Oh, and in 4.18.3, if the dungeon is built with the ā€œInstancedā€ flag checked, it disappears when played on a mobile device. It doesn’t matter whether it was built on design-time or runtime. DungeonInstancedStaticMeshActor just disappears.
If the ā€œInstancedā€ flag is not checked(i.e. if the dungeon actor is consist of static meshes only), it doesn’t disappear.

It was working well on 4.17.2 with the old version of plugin, so I guess it’s a bug.

++
Ran some test on 4.20 and the same thing happened. The DungeonInstancedMeshActor created in the editor gets destroyed(returns invalid) when played on mobile for some reason.

Any update on when the new SnapMap demo will be available?

SnapMapBuilder ā€œBuild Module Cacheā€ doesn’t seem to work for me - I get the ā€œInvalid Snap Builder Module Dataā€ red warning message and it won’t go away even when I click Build Model Cache. Also, clicking Build Model Cache doesn’t seem to do anything visible in the Editor or in the Output Log, so maybe it isn’t working?

I’ve create a small test in 4.19 and 4.20 and have seen this same result:

  1. Make a new blank level, place a floor static mesh and drop some default SnapMapConnectionActors into it. Save level.
  2. In a separate level, add a Dungeon actor, set it to Snap Map and add the module level to each module type array.
  3. Click build module cache. Nothing seems to happen.
  4. in the level blueprint, hook up ā€œbuild dungeonā€ on your dungeon actor to Event Begin Play so the dungeon will be built at runtime.
  5. Play in Editor and a Red warning message says ā€œInvalid Snap Builder Module Dataā€ and the dungeon is never generated, regardless of how many times the Build Module Cache button was clicked in Editor before pressing Play.

You said that the Dungeon won’t generate in Editor, but I assumed that meant just that it wouldnt work if you click ā€œbuild dungeonā€ while in editor mode, but that it should work this way if you Play in Editor and build at runtime - or does it only work in an actual Packaged build (which would be crazy because there’d be no way to test in editor)?

EDIT - Found a Fix
Seems if I ā€œbuild dungeonā€ and ā€œDestroy Dungeonā€ from the editor before adding any modules, something is initialized and the dungeon afterwards works correctly when adding modules and clicking ā€œBuild Module Cacheā€

Ooh - ran into a major blocker with the SnapMapBuilder setup.

In my game, currently set up with Blueprint/Actor SnapBuilder, I have a class that stores a set of default settings for a SnapDungeonConfig. This way I can hand author a bunch of different sets of modules, dungeon lengths, etc, and then choose one on runtime (say based on difficulty level or map type), assign that config to my dungeon actor and then Build Dungeon on the fly.

I’d love to use SnapMapBuilder instead of SnapBuilder to get the new mission editor features you’re working on and because yeah, it’s a pain to build modules as actors!

But how can I assign a config on the fly to a SnapMapBuilder Dungeon and make that work with the Build Model Cache?

Possible options:

  • Is there a way to bake-out a model cache for each SnapDungeonConfig I might want to use?
  • Build the model cache in runtime?
  • Store a Dungeon Actor + config combo with the Build Model Cache included somehow, so I can save those and choose which dungeon to spawn instead of choosing from different dungeon configs at runtime?
  • Have dozens of Dungeon Actors in my level, with their individual configs set and Build Model Cache’s clicked, then choose one and build it at runtime?

EDIT

  • having multiple Dungeon Actors in my level and only building from the one I want at the time seems to work okay. Not sure if there are performance issues down the road though if I have 30+ Dungeon Actors with model caches all in one level?

Put in a ā€œFloor Plan Room Volumeā€ to cut through the floors of the corner room and create a marker for the ā€œPer floor centre markerā€ in your theme file

I recently purchased DA because the vids are so , and I’m just not a TA to make levels. However, I’m finding that DA is constantly crashing the app due to video memory leak, or locks up. Even small actions by dropping a mesh into a theme. If I’m not using DA then no problems, UE run’s smooth. Maybe it’s just the theme builder, but since I need a theme and I can’t make one I can’t tell if there is any other issues.

I upgraded my computer because it died, and I decided to skimp on ram until next month. So I’m only running 8gb for now due to the prices and I’m not made of money :
I’m wondering if it’s a memory issue, or a memory leak. Either way it’s unusable right now. Also one final note, for some reason loading up any UE project even a empty one takes a few minutes. I’m not sure if it’s related though.

I’m using UE 4.20
DA 2.9.2

If anyone has had these problems and may know what’s up(buy more memory?) I would appreciate some assistance to resolve the issue.