My top 8 requests/bug fixes for UEFN after working on a large scale project (Fishy Dimensions)

I recently posted my map Fishy Dimensions that have been in the works since UEFN launched, Fishy Dimensions is a game where you play as a mini fishstick character that you can customize using a character customizer. The game currently features one boss fight where you fight 3 kits, the boss fight takes place in a 2d environment and is inspired by cuphead. Fishy Dimensions features a completely custom gameplay experience to normal Fortnite.

After working on a project as large as this for a while I came up with a list of 10 things that would have made my UEFN experience much better and would have saved me tens of hours of work. The list includes suggestions as well as bugs that made the experience more difficult

  1. [Bug] Controller UI - as a lot of you may know, using a controller on UI made with verse is really broken and has multiple issues. First issue is that if the buttons aren’t aligned horizontally or vertically in a perfect way from eachother they will be unreachable to controller players. Second issue which is a bit more major, when controller players use a UI and then pause the game in order to open their menu, when they get back to the game they will lose focus from the UI, this means they are hard locked from the map and will have to restart it.

2.[Feature] UI revamp - creating verse UI wasn’t an easy task and felt a lot harder than it should have been, I don’t think UI should be created inside verse in the first place. also, would appreciate the option to create custom buttons with custom images that aren’t just the 3 normal ones. Another small bug I have encountered is that “RemoveWidget()” does not work for canvases with more than 40 buttons on screen.

3.[Feature] Apply Speed/Force to a prop- In Fishy Dimensions, I created the movement system from scratch, at first my way of moving the character was using the MoveTo() function but as you may know its completely broken as of now and not usable for short term movements my game requires. Eventually I decided to use TeleportTo[] with Sleep(0.0) which means the character will update in 30 fps, this gave me better results than moveTo but unfortunately they were laggy because of 30fps limit. I have seen some suggestions to up the Sleep(0.0) limit to 60 fps but I have a better idea: let us apply Speed to a prop, this is already something I’m doing in verse to calculate the next TeleportTo[] position, having this as an actual feature like any other game engine does would be so helpful for my game!

4.[My most wanted feature] Change Material Parameters using Verse - Material Parameters are the main I used for my character creator, if I am not mistaken, they are our only way to change materials in game. The only issue with them is that the only way to change them is by creating a sequence. this is really inconvenient, my character creator features 14 color options for 13 different parts of the character, what this means is I have had to create 182 sequences only for the colors, this whole process that took my hours can just be resolved with a few lines of code if we had access to them in verse!

5.[Feature] Change skeletal mesh animations using verse - in order to apply different animations to my custom character, I once again had to create a sequence for each animation, which again could have been resolved with a few lines of code if we got access to animations in verse. But wait, this is not only the only thing this effects, currently, when we create a sequence for an animation, we can only apply it to one object. For example, if I wanted to create a custom enemy with different animations, I would not only have to make a sequence for each animation, I would have to create those sequences again for each enemy as well! When creating a game with a lot of enemies, this is not doable. Giving us access to animations in verse would solve this.

6.[Creator Site] “The content within your creative island” - I am sure many of you know what I am talking about here, when uploading a map to the creator site, there is a big chance of getting it not approved for no reason, the only reason we are given is it has something to do with “The content within your creative island”. this is extremely vague and unhelpful. In my case, I have faced multiple auto declines, which means I have music in my map that epic detects is copyrighted, the problem is, after working on a project for about a month and adding a ton of music, finding that one file that gets my map to decline is impossible! I would really appreciate more transparency on that part.

7.[bug] Disallowed objects - while working on my map, I have encountered the Disallowed objects error multiple times on things that shouldn’t cause any error, one time, I even got it after following the official UE FN tutorials released by epic (I believe it was the niagra one) this has caused me to have to remake several parts of my map which wasn’t fun

8.[feature] Make Hud scale setting not affect our custom images - When starting this map I have used the hud message device in order to display my images on screen, my images needed to match the verse ui I created as I have created the verse ui to fit exactly on to the image to give the effect of custom buttons. However, when changing the hud scale setting, the image size changes as well which makes my verse ui and image to not match up, I have read I could use a scalebox to do something like that but currently its a disallowed object, I even considered having a text on screen that tells players to change their hud scale to 100 to get the best experience from my game, however, taking bug number 1 into consideration this would have been deadly for controller players. eventually what I did was use a post processing volume to display my images, a bit of a tricky way that wasn’t that easy to set up.

I tried your island today and wanted to tip my hat to you. What you accomplished with the tools given is impressive, you really had to brute force this stuff which was no small task.
I was scratching my head how you were somehow getting raw input to move your character :bowing_man:. Well done :exploding_head:

1 Like

coming up with the idea for a way to get raw input is basically what started me wanting to make this map. the trick is teleporting the player to the same spot every 0.1 seconds, then in a loop with a smaller wait time than that I check the players current position and see which direction they move towards, that activates the “key pushed” function. when its been like 0.15 seconds and the players are in the same position I threat it as a key released.
definitely had to do a lot to overcome simple tasks in other engines, but overall really excited for the future

2 Likes

This list is golden. I am having a lot of similar issues and I ve also realized that using a scale box doesnt solve all issues because all it does is scale the actor to the scale you want, but the screenspace that the widget occupies may still not be full screen, which means that elements on top left can get cropped out (ig you can set the widget to display top left). I really want HUD scale to be addressed as well and to have an easy way to do UI buttons.

1 Like

That was a great trick! Thank you.
I’m curious, how did you manage to shoot without a weapon UI in the game?

I placed a trigger Infront of the player, that way, whenever they use their pickaxe I get a trigger. and I used that trigger to spawn the bubbles

1 Like

Thank you for your feedback. While cannot guarantee a response, I can confirm that this has been forwarded to the appropriate team.

2 Likes

This is great feedback, thank you! I know we are investigating the bug with opening the in-game menu and Verse UI focus. Custom images for Verse UI is being worked on. I’d love the ability to set material params from Verse, that is really important, but there are some complexities being worked through. We may be able to release SetMesh and SetMaterial for Props before that, which would still be useful.

2 Likes

Thanks for the reply, custom images for verse ui and setMesh/setMaterial are really cool features so good to know you are working on it!