User Tag List

Results 1 to 37 of 37

Thread: Random Blueprint rants

  1. #1
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)

    Random Blueprint rants

    Who tought automatically renaming function respectively showing a different display name as the function name is a good idea?

    Name Display name
    NewFunction New Function
    New Function New Function
    New_Function New Function

    BlueprintRants_AutoRenamedFunctions.png

    Somehow related to that problem, inline string parameter values are not checked case insensitive. Changing a value from "MyValue" to "myvalue" or any equal string doesn't work and it is always reverted to the original value.




    Here's a quick overview.

    # Title Description Post Status
    1 (Re-)naming functions results into beautifing names after submitting
    the name, occassionally you can't differentiate functions named the same
    way
    When (re)naming functions like "NewFunction" it will be converted to
    "New Function" and you can still have a function named "New Function"
    which will also be converted to "New Function". 2 methods sharing the
    same display name but having an different unique indentifier name which
    isn't exposed to the UI.
    Fixed for functions, still applies for collapsed groups and such
    2 Changing a property's type may result into many unlinked nodes (such
    as "Get" in case of arrays).

    #6
    3 Blueprint assets with an unknown parent class cannot be opened.
    #6
    4 Unreasonable size of Blueprint code assets. Making source control repos also bad in size (git for instance due
    to Blueprint being binary). Example repository: MapScaler takes up to
    300MB with only 94 commits.

    #8
    5 Auto-refactoring of anything. Removing functions/properties will also delete every related node.
    This is not always wanted. A refactory dialog would be really good if
    things are lsited which would be done by such action. And you can
    uncheck everything you don't want to automatically being changed.
    Unchecking such refactoring-required node will result into an
    un-compileable code, but at least you really know <u>where</u> things
    would've been changed and you can change the code manually. This is
    often useful if you extend a method. Since overloading is not possible,
    you would have to rename it. "Find references" is not always suited.

    #9
    6 Copy-paste/duplicate nodes are not fully a copied/duplicated
    version.
    Due to its behavior of how to paste copied content, occassionally
    you end up having nodes/pin not being linked. To bypass possible
    problems with that, try to avoid using connection lines which go over
    the full screen etc., always use local/global variables (parameters is
    still discussed if these should be exposed with an extra node instead)
    and drop them in in locally link them. However, not every case could be
    prevented.

    #11
    7 Missing option to disable nodes for debugging purpose. This feature has been added as pull request but was declined as it
    could make Blueprint more complex to understand and to work with.

    #11
    8 Random crash when either compiling or saving an Blueprint. As both are steps are crashing, there is no order what you should do
    first.

    #12
    9 Resource/memory heavy slate. Making data debugging extensive and slow (in comparison to
    wxWidgets).

    #12
    10 No runtime logging. Shipped code has logging removed from being used by Blueprint.
    #12
    11 Memory leak(s) by having many Slate elements.
    #14
    12 Commet bubbles are cleared without any involvement
    #15
    13 Unable to use by-ref paramters in overriding functions.
    #17
    14 Inconsistent friendly/display names (slightly related to #1) Blueprint properties (=UE architecture properties) can have display
    names specified by the meta tag <i>DisplayName</i>. This name is
    inconsistently used. For instance, that field is used for search and
    display in the "Add action" dropdown (rightclick on empty Blueprint
    workspace) <b>but</b> is not used for displaying the node. The actual
    property name is used for displaying the node (which is totally the way
    to go speaking of "programming").

    #18
    15 Dragging property/function/macro from "My Blueprint" panel (also
    even over into graph) switches to Rename-mode of the dragging/dropped
    property 8 of 10 times
    When dragging a "My Blueprint" entry from the panel into the graph
    panel, reordering in the same panel, or something similar, the rename
    mode of the property will be activated. This happens with my mouse
    behavior 8 of 10 times up to everytime. The required condition is to
    have the item selected. This bug/issue likely goes back how the rename
    feature on Mouse click is implemented. It's a simple use case in most of
    the modern UIs where a single click will enable to rename an item when
    the item is already selected. However, this feature is still working
    when the item is already being dragged. The same feature also gets
    enabled for doubeclicking (not to be mixed up with clicking once two
    times consecutively).

    #19
    16 Unable to re-order macros and functions Whereas properties can be reordered in the "My Blueprint" panel just
    fine, the same doesn't work for functions/macros.

    #19
    17 Unable to drag and drop functions and macros into categories Whereas properties can be dragged and dropped into categories in the
    "My Blueprint" panel just fine, the same doesn't work for
    functions/macros.

    #19
    18 Unable to reorder categories !!! for visual display in the details
    panel
    Whereas properties can be reordered in the "My Blueprint" panel just
    fine and the details panel order is the same, created categories keep
    the order when they are created first. The only workaround would be to
    re-created the category you want to re-order. This can result into
    having to re-create and re-order every single category and sub-property.

    #19
    19 Unable to drag and drop categories into other categories (creating
    subcategories by dropping one into another)
    Whereas sub-categories can be created by using the pipe character
    (|) in the category field of any property/functions, you cannot use the
    drap'n'drop feature to move 1 category into another. If you want to move
    a single category into another category (without having to move every
    single property), you can just rename the category and include the
    category name you want to have that category being placed in followed by
    the pipe character.

    #19
    20 Renaming subcategories will move the category back to the root By renaming a category which is inside another category (=a
    subcategory), the renamed category will be moved back to the root (=no
    parent category). When renaming a category, the suggested name doesn't
    include the parent category even if it is actually required and given
    (can be noticed when dragging the category and taking a look at the
    tooltip). As a workaround for not having a subcategory automatically
    moved back to the root, you need to include the parent category name
    following by the pipe character (|).

    #19
    21 Crashes. Crashes. Crashes. No matter how save you work on a Blueprint, such prelease like UT
    0.1.7 has (a pre-release of UE4.15), it crashes so often. Already
    crashed 4 times working on a single Blueprint which is not even a
    multi-Blueprint file. Deleting nodes, deleting variables, playing game
    (and thus re-compiling), ... stressful.

    #20
    22 Tendency of BP to result into spaghetti code The design pattern of linking nodes (also across the visible screen) tends to clutter the code much[...] (click on the post link to read
    more)

    #21
    Last edited by RattleSN4K3; 02-21-2017 at 06:27 AM.
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  2. #2
    Unreal Tournament Concepter
    Join Date
    Mar 2014
    Posts
    1,066
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)
    Blueprint may have a bad case of being designed for artists by programmers.
    At least, it reminds me of something that was brought up in a talk by Valve (probably, my recollection is faint) about how their tools were made, and how it was soon realized that artists didn't need silly and ultimately obfuscating GUIs nearly as much as the technical team thought they did.

  3. #3
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    I actually don't have a problem with Blueprint, it really closes the gap which existed before where artists/designers couldn't work on prototypes due to the requirement of doing UnrealScript/C++. But I had so many problems with Blueprint, saw so many design issues/inconsistency, etc. that for now I only want to expose this, shout it out. For a game like UT, a fast rapid prototyping tool is really required. But such tool must be robust and not fragile like Blueprint. You may now I'm a supporter of any scripting language which works similar to UnrealScript. I'll never stop mentioning that .

    The issue proposed above was introduced with UT's 4.12 upgrade. I don't even know if this is UT only or also the case for UE4.12 as these are slightly different.
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  4. #4
    Senior Member
    Join Date
    May 2014
    Posts
    162
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by RattleSN4K3 View Post
    Changing a value from "MyValue" to "myvalue" or any equal string doesn't work and it is always reverted to the original value.
    This is annoying. I always end up doing "MyThing" > "asdadsfasgd" > "mything".

  5. #5
    Member
    Join Date
    Aug 2014
    Posts
    77
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Not sure if this is a Blueprint rant?

    But it is very frustrating to me that I can Get numerous Slide variables and only Set half of them........... I keep checking to see if this has been implemented. Dev love, please? <3
    The Shield Belt / Telefrag thing is not exposed to Blueprint, either. :-(

    Now! I have to give props where props are due. I have created a massive mutator touching on just about everything purely through Blueprint. Usually when I think something can't be done, I just have to think of it another way or dig deeper. The capability is largely there already, and it's a lot easier to learn through trial and error than C++.... There have been only a few things in all the simple or complex things I have tried to do that I could not [eventually]. So kudos! Now *whisper* how about getting me those variables? ;-)

  6. #6
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    @Remdale, yep it is frustating knowing C++ does allow access to specific properties and Blueprint is limited there. I really doubt this will change that much as exposing everything to Blueprint would simply allow maps or any other cosmsetic client-sided mod accessing several game-relevant/important props. The advantage of Kismet back then was exactly this. Unless a map uses a custom script framework, it was ensured a map wouldn't manipulate the game much.

    Rant #2:
    Changing a property's type may result into many unlinked nodes (such as "Get" in case of arrays).


    Rant #3:
    Blueprint assets with an unknown parent class cannot be opened.
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  7. #7
    Senior Member
    Join Date
    Mar 2014
    Location
    WorldInfo_61
    Posts
    2,028
    Mentioned
    44 Post(s)
    Tagged
    2 Thread(s)
    Quote Originally Posted by RattleSN4K3 View Post
    Rant #3:
    Blueprint assets with an unknown parent class cannot be opened.
    Pretty sure thats how it would go for any asset not just BPs.

    Actually even #2 is iffy because in CPP you may have to change the foreach type on an array as well, sure replace all beats doing it by hand in BP cant deny that.

    Just to bring it full circle theres a reason why its called an interpreted language, CPP is not without its huge flaws either but we gave up listing them in the 90s because the list was longer than the fixes.

    For eg try disabling a collision component set to scene root in CPP constructor, then put BP collision ontop and watch the bugness. Technically not a bug though its a programmer generated error.
    Last edited by MonsOlympus; 06-07-2016 at 01:34 AM.
    Upon release, Unreal Tournament 2004 was met with widespread critical acclaim. Several critics praised the unique, fast-paced, fun and challenging nature of the game as its main selling points, while fans touted the post-release support and extensive modding capabilities.

  8. #8
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Not praising C++ in here but critizing the Blueprint system as such. The war/battle Blueprint vs. C++ has already happened and it's a waste of time... we all know who wins.

    Rant #4:
    Unreasonable size of Blueprint code assets. Making source control repos also bad in size (git for instance due to Blueprint being binary). Example repository: MapScaler takes up to 300MB with only 94 commits.
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  9. #9
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Rant #5 (related to #2):
    Auto-refactoring of anything. Removing functions/properties will also delete every related node. This is not always wanted. A refactory dialog would be really good if things are lsited which would be done by such action. And you can uncheck everything you don't want to automatically being changed. Unchecking such refactoring-required node will result into an un-compileable code, but at least you really know where things would've been changed and you can change the code manually. This is often useful if you extend a method. Since overloading is not possible, you would have to rename it. "Find references" is not always suited.
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  10. #10
    Senior Member
    Join Date
    Mar 2014
    Location
    WorldInfo_61
    Posts
    2,028
    Mentioned
    44 Post(s)
    Tagged
    2 Thread(s)
    Okay well heres my list

    #Fact I have to touch the mouse to interact with BP

    #Autocomplete is worse than google search, searching "for" gives you everything but a for loop unless you explicitly ask for it negating the usefulness of having autocomplete at all.

    #Lack of control over C++ created components, especially at runtime.

    I have more but the list is longer than my pet hates about CPP, I just dont think this is the place for generic BP hate but more specific to UT. Which the collision component as root scene component issue is.

    See this is the problem I have with this community, its too competitive, no one has to win to have a discussion, sometimes both win, sometimes both lose, the key is that we move forward and not get stuck living in the past

    Eg. If this game fails everyone loses, no one wins and all these debates will be pointless regardless.
    Last edited by MonsOlympus; 06-22-2016 at 10:51 AM.
    Upon release, Unreal Tournament 2004 was met with widespread critical acclaim. Several critics praised the unique, fast-paced, fun and challenging nature of the game as its main selling points, while fans touted the post-release support and extensive modding capabilities.

  11. #11
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Rant #6
    Copy-paste/duplicate nodes are not fully a copied/duplicated version. Due to its behavior of how to paste copied content, occassionally you end up having nodes/pin not being linked. To bypass possible problems with that, try to avoid using connection lines which go over the full screen etc., always use local/global variables (parameters is still discussed if these should be exposed with an extra node instead) and drop them in in locally link them. However, not every case could be prevented.

    Comparison to textual scripting as the scope isn't that easy to understand.



    In case of having a method like this (simplified)...
    Code:
    var bool Property1;
    
    event Run()
    {
    	if (Property1) {
    		PrintString("Property1 is set");
    	}
    }
    ... and you want to extend that code but you're not able to parameterize it and re-factor it into functions, you'll likely copy, paste and edit it to something like his:

    Code:
    var bool Property1;
    var bool Property2;
    
    event Run()
    {
    	if (Property1) {
    		PrintString("Property1 is set");
    	}
    
    	if (Property2) {
    		PrintString("Property2 is set");
    	}
    }
    You could simple copy each block and paste it into/at-a specific position in order to fully work. In Blueprint (and by having a complex node graph), this doesn't seems to be that easy. The "where to paste" logic doesn't exist as Blueprint only relies where such code is pasted when you connect it and link it into the execution chain. You might have to create a Sequence node, add you code and link it. Due to the massive layout requirement of nodes, this can get really messy.






    Rant #7:
    Missing option to disable nodes for debugging purpose. This feature has been added as pull request but was declined as it could make Blueprint more complex to understand and to work with.

    Edit:
    By searching for the related pull request, I found out that 4.11 does have that feature implemented but it has to be activated in the preferences.





    Quote Originally Posted by MonsOlympus View Post
    #Fact I have to touch the mouse to interact with BP
    Yep. I've said that as well on several occassions. It is really killing rapid prototyping (respectively mouse-less coding).

    Quote Originally Posted by MonsOlympus View Post
    #Autocomplete is worse than google search, searching "for" gives you everything but a for loop unless you explicitly ask for it negating the usefulness of having autocomplete at all.
    Additionally to that, you only have "full text" and "relevant". Occassionally, not using full search doesn't return the desired node even if it is related.
    Something I also miss (using the "Inspector"/"Class browser" panel; not sure what it is called atm), you're not able to check functions/props per class. IMO this is a important feature for modding existing games.

    Quote Originally Posted by MonsOlympus View Post
    #Lack of control over C++ created components, especially at runtime.
    In most cases I think BP is lacking there because it wasn't required at time by the team which requested that feature. But sometimes I see BP is intentionally limited for that matter. This is a good thing, but for BP being the only scriping system for mods, you're really screwed. If BP would have the same access level and possiblites UnrealScript had, maps could exploit the game pretty easily (which they already can). Back in UE3, only Kismet allowed scripting and it was a special kind scripting with pre-made nodes (similar to BP but less dynamically extended). Unless you've coded your own Kismet actions, you were limited to what Kismet has offered and it wasn't that much. Currently, a map could have the same scripts any other mod can have, and this results it can manipulate the game as such. There's so much a map author can do and hide in BPs shipped with a map.
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  12. #12
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Rant #8:
    Random crash when either compiling or saving an Blueprint. As both are steps are crashing, there is no order what you should do first.

    Rant #9:
    Resource/memory heavy slate. Making data debugging extensive and slow (in comparison to wxWidgets).

    Rant #10:
    No runtime logging. Shipped code has logging removed from being used by Blueprint.
    Last edited by RattleSN4K3; 02-21-2017 at 06:27 AM.
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  13. #13
    Senior Member
    Join Date
    Mar 2014
    Location
    WorldInfo_61
    Posts
    2,028
    Mentioned
    44 Post(s)
    Tagged
    2 Thread(s)
    Its actually really easy to create cyclic errors with BP even still, thankfully the structs are fixed somewhat but you can create a circular reference that fails to compile which continuously dirties the referenced BPs causing them never to save correctly. I think the interface should warn against such things and try to stop them before they happen as hunting them down and fixing them after the fact can be impossible if it causes corruption.

    I really dislike that UT moved to shipped code, I get it they want to stop cheats or whatever but why treat it like a shipped title on one hand while on the other constantly using PreAlpha as an excuse.

    Ive said since the beginning I wanted BP to act more like an electronics engineering software which allows hotwiring and probes for debugging purpose, its really cumbersome to inject a branch and I really think more steps need to be taken to improve debugging. Even watching a variable is this cryptic number of clicks and whizzes when as much info as possible should be there on the surface so I wholeheartedly agree about some sort of inspector.


    My biggest gripe atm is how collision acts completely whack in the editor and even worse in the game, Im not sure if its changes in 4.12 to the system but the collision channels seem to be completely screwy even regardless of the previous issue I mentioned.

    Eg. A StaticMesh set to blockall makes flak shards bounce just fine, a box (collision) component on a BP however set to blockall suddenly destroys flak shards.

    There are issues with dodge ramps acting completely different in BP components vs StaticMesh in the level vs Blocking Volume and this to me is a significant issue which could be the cause for alot of other bugs that people have been fixing on a per case basis. I try to avoid engine code so I can only talk from my experience with the engine/editor and the game itself and these problems have been in there since early on with no effort to rectify them and it goes to what you were saying about how certain teams work.


    There are no issues with a team taking a preferred route but when they fail to correctly document the technical specifications of what they are doing then expect modders to be happy when they encounter issues with said code. The engine being updated just adds to the already unpredictability of the codebase for this game, BP issues are hard enough to deal with without the continuous stream of spanners being throw at your work and then a complete ignorance to these real issues affecting coders because we dont work directly side by side with the UT team to know the exactly procedures we are meant to be using.

    For instance, are we meant to use only blocking volumes because thats the way Epic does it? What do the channels do exactly, why does IgnoreOnlyPawn destroy projectiles for instance...

    I think if Epic want people to use BP and for it to really get better they have to start supporting it themselves in their games!



    P.S. Navmesh generation using only 2 cores and not being able to build lighting on the other 6 at the same time is a bad joke!~
    Last edited by MonsOlympus; 07-01-2016 at 05:08 AM.
    Upon release, Unreal Tournament 2004 was met with widespread critical acclaim. Several critics praised the unique, fast-paced, fun and challenging nature of the game as its main selling points, while fans touted the post-release support and extensive modding capabilities.

  14. #14
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Rant #11 (not specifically Blueprint related):
    Memory leak(s) by having many Slate elements.

    I am working on the MapScaler blueprint from time to time and a feature is called "Undo". Since that Blueprint is a single-class implementation, the data to undo values is stored in the Actor itself - as fields. All of these fields are declared as arrays and can contain various type of data. By scaling a map with 1000 actors, there will be at least 3000 array entries stored for the transform values and additionally some other values for other scaled actors such as JumpPad, Lights etc.. Now this data is created as field and specifically set as visible (in order to have it serialized, otherwise it will be deleted on saving), it will create several Slate elements for each array entry. This does slow down the overall process but also the editor each time you select the MapScaler actor from the editor's viewport.

    As you likely have the MapScaler details tab open when you scale a map, these Slate elements are created no matter what you're doing, at least once. This does or can increase the memory usage up to the maximum available memory immediately. It will be free-ed when you deselect the actor. But it is kept as long as the actor is selected or created (which is the case when you debug your implementation since runtime debugging is not possible for the UserSriptConstruction block). Here are some mem reports:

    Clean ExampleMap map (MapScaler pre-compiled though)
    Code:
    Process Physical Memory: 2148.92 MB used, 2170.66 MB peak
    Process Virtual Memory: 2097.89 MB used, 2131.58 MB peak
    Physical Memory: 6144.69 MB used, 8189.24 MB total
    Virtual Memory: 2750.75 MB used, 8388608.00 MB total
    MapScaler placed in level. Before scaling.
    Code:
    Process Physical Memory: 2254.23 MB used, 2292.22 MB peak
    Process Virtual Memory: 2202.22 MB used, 2240.75 MB peak
    Physical Memory: 6252.96 MB used, 8189.24 MB total
    Virtual Memory: 2854.82 MB used, 8388608.00 MB total
    MapScaler placed in level. After scaling 3 times (with stored Undo Data and visible data in details tab).
    Code:
    Process Physical Memory: 3845.72 MB used, 3845.72 MB peak
    Process Virtual Memory: 3856.70 MB used, 3856.74 MB peak
    Physical Memory: 7574.62 MB used, 8189.24 MB total
    Virtual Memory: 4502.80 MB used, 8388608.00 MB total
    About 1.5 GB of memory used for these Slate elements. But none of them are visible on the screen or rendered at all. Overall the 78 arrays do have 4627 elements which created that amount of used memory. It doesn't matter if the arrays are collapsed, expanded or rendered. Once created, it does take up that much.

    Now this isn't a problem for the released MapScaler as I hide the specific BP category in order to keep it not being created. The following mem reports as a proof:
    MapScaler placed in level. After scaling 3 times (with stored Undo Data but data hidden from details tab).
    Code:
    Process Physical Memory: 2377.03 MB used, 2404.57 MB peak
    Process Virtual Memory: 2321.40 MB used, 2352.97 MB peak
    Physical Memory: 6229.39 MB used, 8189.24 MB total
    Virtual Memory: 2970.05 MB used, 8388608.00 MB total
    But this isn't ideal to develop the MapScaler. Also it is just another hint how unsuited Blueprint and the IDE is for everything non-content related.
    And with many undo processes, the UE4 editor will eat memory until the systems runs out of memory. The editor crashes and the system will only slowy re-allocate the resources for the other running processes resulting in a general slow system. A reboot is likely required after that.


    And why a rant and not simply a bug report here or on the engine forum? I just don't want to and think that I cannot be the only who noticed it. As long as the Undo feature exists, I know of that problem with Slate. I truly believe that hundreds of devs working on the editor should already know that problem. If not... well...




    Quote Originally Posted by MonsOlympus View Post
    My biggest gripe atm is how collision acts completely whack in the editor and even worse in the game, Im not sure if its changes in 4.12 to the system but the collision channels seem to be completely screwy even regardless of the previous issue I mentioned.
    I actually do believe that collision calculations (respectively the algorithm for the movement) causes the up to 1 seconds freezes several players face. I do have evidence of that back in the days but never traced it back.

    Quote Originally Posted by MonsOlympus View Post
    I think if Epic want people to use BP and for it to really get better they have to start supporting it themselves in their games!
    You know something has flaws if the authors don't use it by themselves.
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  15. #15
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Rant #12
    Commet bubbles are cleared without any involvement

    Code comments added by bubbles to specific nodes are sometimes cleared. It is also often clear when you copy-paste a node with a comment bubble and compile your code. The bubble stays visible but the comment is cleared out. Random stuff...


    PS: Rant #1 (in the OP) is halfway fixed. Function names are now not automatically renamed (adding spaces etc.) but Collapsed nodes still are.
    Last edited by RattleSN4K3; 11-05-2016 at 11:06 AM.
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  16. #16
    Senior Member
    Join Date
    Jun 2015
    Posts
    284
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Shouldn't this thread be in the actual Unreal Engine forums since this is purely complaints against the Blueprint system? I think it might get more attention if it was in there instead.
    <- In hibernation...
    <- In hibernation...
    <- In hibernation...
    <- Waiting for weapon balance and netcode...

  17. #17
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Rant #13
    Unable to use by-ref paramters in overriding functions.

    Own created functions ("Add new" -> "Function") in a Blueprint can have passed-by-ref parameters. However by overriding the functions in a child Blueprint, the overridden function will be "implemented" as Event (in the Event graph) if the overriden parent method doesn't have a return value. When the function would work in the original class (returning nothing but possibly setting/using the parameters), the child class isn't able to override it. Blueprint Editor/Compiler does print out warning trying so. Testing it would gibt out any results.

    Warning No value will be returned by reference. Parameter 'VersionStr'. Node: K2Node_Event_8895
    Workaround
    1. Add an output parameter.
    2. Compile parent class
    3. Override method in any child (will be overriden as function not as event)
    4. (Compile child)
    5. Remove output in parent class
    6. Compile parent class
    7. Compile child class


    The compiler won't bother and the overidden function including passing values to the by-ref parameters is working.



    What else to say: Blueprint. Gosh. Why?!?!
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  18. #18
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Rant #14
    Inconsistent friendly/display names (slightly related to #1)

    Blueprint properties (=UE architecture properties) can have display names specified by the meta tag DisplayName. This name is inconsistently used. For instance, that field is used for search and display in the "Add action" dropdown (rightclick on empty Blueprint workspace) but is not used for displaying the node. The actual property name is used for displaying the node (which is totally the way to go speaking of "programming").

    Example
    https://github.com/EpicGames/UnrealT...mponent.h#L137
    Code:
    	/**  Max draw distance exposed to LDs. The real max draw distance is the min (disregarding 0) of this and volumes affecting this object. */
    	UPROPERTY(EditAnywhere, AdvancedDisplay, BlueprintReadOnly, Category=LOD, meta=(DisplayName="Desired Max Draw Distance") )
    	float LDMaxDrawDistance;
    You can see int he following image, the value of DisplayName is used for displaying the node in the dropdown list. However, the node is displayed with the formatted code name:
    BlueprintRants_Inconsistent_DisplayName_Different_names.png

    The used node name cannot be used for searching:
    BlueprintRants_Inconsistent_DisplayName_not_found.png
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  19. #19
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Rant #15
    Dragging property/function/macro from "My Blueprint" panel (also even over into graph) switches to Rename-mode of the dragging/dropped property 8 of 10 times

    When dragging a "My Blueprint" entry from the panel into the graph panel, reordering in the same panel, or something similar, the rename mode of the property will be activated. This happens with my mouse behavior 8 of 10 times up to everytime. The required condition is to have the item selected. This bug/issue likely goes back how the rename feature on Mouse click is implemented. It's a simple use case in most of the modern UIs where a single click will enable to rename an item when the item is already selected. However, this feature is still working when the item is already being dragged. The same feature also gets enabled for doubeclicking (not to be mixed up with clicking once two times consecutively).




    Rant #16
    Unable to re-order macros and functions

    Whereas properties can be reordered in the "My Blueprint" panel just fine, the same doesn't work for functions/macros.





    Rant #17 (related to #16)
    Unable to drag and drop functions and macros into categories

    Whereas properties can be dragged and dropped into categories in the "My Blueprint" panel just fine, the same doesn't work for functions/macros.




    Rant #18
    Unable to reorder categories !!! for visual display in the details panel

    Whereas properties can be reordered in the "My Blueprint" panel just fine and the details panel order is the same, created categories keep the order when they are created first. The only workaround would be to re-created the category you want to re-order. This can result into having to re-create and re-order every single category and sub-property.




    Rant #19
    Unable to drag and drop categories into other categories (creating subcategories by dropping one into another)

    Whereas sub-categories can be created by using the pipe character (|) in the category field of any property/functions, you cannot use the drap'n'drop feature to move 1 category into another. If you want to move a single category into another category (without having to move every single property), you can just rename the category and include the category name you want to have that category being placed in followed by the pipe character.





    Rant #20 (slightly related to 19)
    Renaming subcategories will move the category back to the root

    By renaming a category which is inside another category (=a subcategory), the renamed category will be moved back to the root (=no parent category). When renaming a category, the suggested name doesn't include the parent category even if it is actually required and given (can be noticed when dragging the category and taking a look at the tooltip). As a workaround for not having a subcategory automatically moved back to the root, you need to include the parent category name following by the pipe character (|).
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  20. #20
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Rant #21 (related to #8)
    Crashes. Crashes. Crashes.
    No matter how save you work on a Blueprint, such prelease like UT 0.1.7 has (a pre-release of UE4.15), it crashes so often. Already crashed 4 times working on a single Blueprint which is not even a multi-Blueprint file. Deleting nodes, deleting variables, playing game (and thus re-compiling), ... stressful.

    Edit:
    Lol. Just after this post, I started another session. Clicked on a local variable (which then would enable renaming mode) and the editor crashes. This time, I justed checked the log. What a coincidence, it is related to this:
    https://www.epicgames.com/unrealtour...eference-types
    Last edited by RattleSN4K3; 01-29-2017 at 04:12 PM.
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  21. #21
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Rant #22
    Tendency of BP to result into spaghetti code

    The design pattern of linking nodes (also across the visible screen) tends to clutter the code much. This is worse when using (or have to use) nodes like Gate, For/ForEach with break and alike. Also the small space of the output pins of nodes such as Switch or Sequence with multiple outputs do tend to clutter the code due to having to move code around and apart in order to increase the readabilty, extendability and all that. Readability is a major problem of BP where the focus is and was on "understandability" and easy to use for designers. The needs of linking parameters to the actual source node (signature node) (in Event and Functions) makes it worse. To increase readability you could - and therefore it adds an overheada to your workflow - always create a local var and pass the parameter to that var and use it further on but that should be the proper use case of parameters. [I cannot fathom that a major release update (14 to be exact) doesn't feature a "Parameter" note such as it nowadays exists for the "Return Node" which can be added.] And speaking of "Spaghetti code", it actually can improve the readablity and clutterness of a single Bluepring graph (of a function not as a whole) when nodes such as "Goto" and "Anchor" exists, respectively nested functions (not comparable to collapsed groups or macros). Multi tab browsing doesn't make it better in any sense to actually "read the source".
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  22. #22
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Rant #23
    Unable to use function defined in Blueprint libaries (Blueprint Function Library) in Object based classes
    No matter how you sestup your method (const, pure, access specifier), a library function cannot be used in non-Actor class (based on atleast Object). Pasting code from an Actor class using the lib function will crash the parsing thread.
    Last edited by RattleSN4K3; 02-13-2017 at 04:59 PM.
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  23. #23
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Rant #24
    Not being able to get the path name of a given class (not instance)
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  24. #24
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Rant #25
    Watch values in debug mode doesn't represent the actual value in some cases
    When debugging BPs, in some cases the actual value of a node isn't the right one. It happens often when accessing fields or array or alike. A time consuming workaround would be passing the value to a local variable and then being able to watch that local value.


    Rant #26
    No watch values in macros
    If you debug a given macro, the execution works properly. But you cannot hover a variable or hover over it to see the actual value.
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  25. #25
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Rant #27
    Lack of IsA(NAME) to check if an object is of a specific type/class
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  26. #26
    Senior Member
    Join Date
    May 2014
    Posts
    143
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    you moan a lot. go post feature requests on answerhub.

  27. #27
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Crocopede View Post
    you moan a lot. go post feature requests on answerhub.
    Exactly. Moaning (thus the thread's name "Rant"). I am not here - in this thread - searching for a better solution or providing feedback to contribute to the engine/UT. I actively tried and it failed miserably. Therefore I am only passively give the problems a name, posting it here.


    PS: Edit: I am also providing enough feature requests and even full (source) code on various other places than this thread.
    Last edited by RattleSN4K3; 02-17-2017 at 09:23 AM.
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  28. #28
    Senior Member
    Join Date
    May 2014
    Posts
    143
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    Do you have any tutorials of stuffs?

  29. #29
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Crocopede View Post
    Do you have any tutorials of stuffs?
    I assume this is not an interest but just asking if I have any. The ones I helped directly, actively or passively know, I don't need to brag about it.
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  30. #30
    Senior Member
    Join Date
    May 2014
    Posts
    143
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    Chill mate. i was actually showing interest. Seems like you do a lot of stuff. Im keen to see where to start with blueprints for UT.
    Im pretty solid with blueprinting, but thats building my own games. Not sure where to start when working on prototyping stuff for UT. Dont wanna break me game.

    Just caused i tuned you, you moan a lot does not signify rudeness of sorts. its manly bonding.

  31. #31
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Off topic (wall-of-text)




    Quote Originally Posted by Crocopede View Post
    Chill mate. i was actually showing interest. Seems like you do a lot of stuff. Im keen to see where to start with blueprints for UT.
    Im pretty solid with blueprinting, but thats building my own games. Not sure where to start when working on prototyping stuff for UT. Dont wanna break me game.
    I'm pretty chill. Was just defending myself respectively explaining the situation. Sorry for misunderstanding parts of your replies.

    Well, I am mostly a framework coder. And thus I am complaining about various concepts of Blueprint as the system - features missing from previous engine(s). Although you can already create mods (including game modes, weapons, cosmetics, mutators etc.), the code base of UT (and the engine) is heavily changing. And for UT's part, it is also heavily limited. Various things UT uses are not exposed to Blueprint (although exposed to the UE architecture/framework). Creating/using/re-iterating tutorials or alike is a time consuming process. Just take a look on the official tutorials - these are outdated. Modding/developing/creating-unique-content for/with UT is a ongoing process, and does not commute well in the community-involved-small-team-openly-developed game. At some state, you might reach a dead-end on creating your desired functioning whether its gameplay related or simply a tool. But all that is totally fine and I blame no one for that - it's simply how developing works. And UT is only in pre-alpha stage. Currently, creating content for UT is a trail&error process due to things I mentioned. There are so many modders in the community which already left, not following the development anymore, lost interest or simply moved to their own game due to the lack of involvement, possibility to contribute or to implement their own ideas (with mods, game modes, etc.). I can simply join that group of communtiy members - leaving the scene - or just try to work around these problems. This doesn't say that I shouldn't be able to complain about various things of the game (and the engine it uses). It is already too long to be a yaysayer, no matter how hard it is to read critics, critics consist at least a bit of truth and sometimes people do care about what they are criticizing.

    So yes, I do some stuff ("a lot" is relative ) - lately only finishing stuff I started and occassionally creating mods (from requests). The whole process of knowing UT(4) comes from modding prior UTs and knowing the code base. I cannot point anyone to good resources/tutorials other than the official docs. UT is limited in this regards as the official tutorials doesn't show much. Due to .pak files being closed and one is not able to look at the content from the editor (which differs from prior UT games), the community cannot look at other guys' mods in order to increase their knowledge. The only way would be approaching modding on their own, trail&error. Same as we all did - some more some less. And that's where the community as such takes places by actively helping each other. I can only speak for my self, how I see things in here. I do visit the forum very frequently, and mostly trying to help community members with any problem they have as long as I am confident I could help and that help would be sufficient or at least guiding to the right place. In all these years/months trying to contribute to UT, working on own mods, both C++ and BP, I gained a decent knowledge to be able to at least feel confident helping others. I don't want to state that all my answers/posts are really helpful (or fully correct) for all these I tried to help, but at least I am still convinced I can contribute to the community in that way. I don't need to but I like to.

    That said, BP is complicated. UE4 is massive and complex. The active community is dissolving. But I don't want to discourage anyone contributing to UT in anyway, even though this thread (and some other ones) do sound like that. It's actually contrary to that, and I really like to see anyone helping out Epic, the community and/or creating mods. I do encourage guys (at least it's the intent of that), even if it is only explaining how I would approach things, how I create my own mods and not just keeping it private, or providing snippets/source to help out.

    So my suggestion where to start modding UT? I don't know. The trivial approach would be tweaking properties but I personally don't consider that as modding, although technically it is. A major part of learning modding of UT back then was reading the existing source code (UnrealScript). But this doesn't exist anymore. The C++ source code is complicated to read or adapt to BP and sometimes it is impossible to mimic the C++ behavior in BP. UT rarely consist of code BPs, mostly BPs are prototypes or simply content referencing classes (/proper default properties). But the source code is a good documentation of how UT works. So the general advice would be: Take a look at the C++ source code. Other than that, I can only say trail & error, iterate, reconsider, evaluate, test and publish code/mods. You can't do anything wrong.


    If you interesting in something specifically, let me know.


    PS: Sometimes tutorials are not good either. Tutorials are one-sided and lack of discussion. Occassionally only discussions lead to good results.
    PPS: And by actually knowing how a simple scripting language plugin is working for UE4 (Unreal.js, Skookrum, ???Script etc.), all these issues (/rants; I have) would be gone.


    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  32. #32
    Senior Member
    Join Date
    May 2014
    Posts
    143
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    cool post. very enlightening. I will start digging around and learn how i learned from UE4

  33. #33
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Rant #28
    Undo/redo is applied globally and does not work per-class, per-window/tab or per-workspace
    When working on a multi-class project and you change code parts of one class and other ones, but you decide you want to undo changes from a specific class, you can't. Undo (even if has it's own menu item in each single window/tab) does un-do the work on every tab/window. It also doesn't give a hint about un-doing stuff from another window/tab respectively changes you made in a different workspace.
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  34. #34
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Rant #29
    BP Delegates (dispatchers) cannot contain a return type. By-ref parameters do not work well (for instance when using an Event as bound function).


    Rant #30
    Serialized BP structures' keys are not properly named. They contain a hash suffix.
    This behavior is different to C++ UE4 structures. When saving an BP enum, a config entry would look like this
    Code:
    MyConfigProperty=(Name_3_3B984C712198F4EA129E053480F6A928="Some Text",AnotherProp_6_CB62098148F86C9B69F7F29C1E513F55=True)

    Rant #31
    Serialized BP enums' values are not properly named, instead the internal indexed name is used.
    This behavior is different to C++ UE4 enums. When having an BP enum with some enumerations like {None,DoSomething,DeleteMe} and using that enum for a config property (assigned to "DoSomething"), the enum (at least in a structure) is stored as:
    Code:
    MyEnumProperty=NewEnumerator1

    Rant #32
    Due to BP enums using indexed names internally, reordering enumarations can change code using these enums.
    When reordering enums in an BP enum, all loaded known classes using that enum will change their code, however if you have a non loaded class or ignore the changes mode to other assets automatically, all nodes using that previous enum change to the new enum at a given index when opening the asset. When having an BP enum like {None,DoSomething,DeleteMe} and using that enum in code for instance with a compare node "EnumEquality(*INTPUT*, DoSomething)" with "DoSomething" selected from the dropdown (on Equal or literal enum), that enum will change the value when re-ordering the enum to {DoSomething,DeleteMe,None}. It would then compare the input value to "DeleteMe": EnumEquality(*INTPUT*, DeleteMe).

    I could not property re-create that issue but it happened on my end.
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  35. #35
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Rant #33
    Clearing (array) config property and compiling asset will restore/revert stored config properties
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  36. #36
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Rant #34
    Running PIE in immersive mode and having break points in Blueprint ends in a non-reactive editor (unless aborting PIE with Escape)
    When having an active break point for debugging a Blueprint, and switching to immersive mode (F11) before or during a PIE session and any break point is hit, the game stops and doesn't react on input (neither on F11 for exiting immersive mode). Unless you close the PIE session with Escape, you are stuck on that point.
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

  37. #37
    Senior Member
    Join Date
    Mar 2014
    Posts
    2,644
    Mentioned
    47 Post(s)
    Tagged
    0 Thread(s)
    Rant #35
    Unable sort a string array (or get the order of two strings)
    Blueprint doesn't have nodes for > and < (respectively >= and <=) for strings in order to check the order of two strings, to be able to sort strings.

    There is a workaround for that (lol !) by using a combination of GetCharacterArrayFromString, GetCharacterAsNumber and a iteration with ForLoop (and ofc a lot of short circuits).
    ] Map Scaler Tool | Betrayal for UT4 | No Spawn Protection | No Pickup Timer | BioLauncher (revived) | ForcePickupSpawn | Map cosmetics::P | Safe Spawn::P | Why numbers for Health/Armor suck!::ANALYSIS/CONCEPT
    ] UT3 Addons: NoMoreDemoGuy | PickupRespawnTweak | Mutate Spec | MutePawnSounds | NoPlayerBeacon | Epic FTW | Epic FOCK | TripodSound (... and many more)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •