1

(1 replies, posted in General)

Critical fixes update (2.7.0a):
- Fixed build compilation issues
- Fixed network lag issues
- Fixed issue where editor would not record certain modifications
- Added summary to most editor variables
- Added accessed to UFE 2.7 Update through Window -> UFE
- Fixed issue with opponent override over dizzy state
- Fixed air recovery fall down when defeated issue
- Added new variable under Round Options: End Round Delay
- Added end round lock prevention (in case a character doesn't fall to the ground)
- Added input lock check on Random AI inputs (causing issues with UFE Lite license)
- Fixes several template files on all licenses

Redownload UFE to get the update.

2

(1 replies, posted in General)

Get the latest version:

Source: Asset Store  |  PayHip
PRO: Asset Store  |  PayHip
Standard: Asset Store  |  PayHip
Basic: Asset Store  |  PayHip
Lite: Asset Store  |  PayHip


How to Update:

Backup Your Project
Before installing the new version, backup your project files to avoid accidental data loss.

Export Stances (if applicable)
If you have your moves assigned under "Move Editor -> Move Sets -> Stances (Preloaded)", click on “Export Stance”.
This will create a new move set file that can be converted to UFE 2.7.0’s new data model.

Replace the Files in Your Project
Go to "<Project Folder>\Assets\UFE\" and delete all files in this folder before adding the new package files.
*Important:* If you have custom files inside this folder, move them to a safe location outside your project folder before proceeding.

Update UFE in Your Project:
When reopening your project, you should see an alert prompting you to update to UFE 2.7.0. Click “Proceed with Upgrade”.
Didn’t see the alert? Right-click any global file in the project and select "UFE -> Apply 2.7.0 Update".


Post-Update Adjustments:

While the update automates most changes, a few manual tweaks may be necessary: 
Multi-Gauge Characters:
If your characters use multiple gauges, open the "Character Editor" and add new gauges under the "Gauge Options" section. 

Battle GUI Updates:
Update the gauge definitions in your "Battle GUI" prefab:
- Open "Global Editor -> GUI -> Preset Interfaces -> Battle GUI". 
- Locate the "Default Battle GUI" and assign the correct "Gauge ID" and "Meter Images" to the new gauge definitions under "Player1/2 GUI". 

Change Log: http://www.ufe3d.com/doku.php/changelog
Roadmap Log: https://trello.com/c/3GAblTke/139-ufe-270

To discuss the update check out Discord:
https://discord.com/channels/6233718319 … 5079246923


Previous update topics:
2.6.0
2.5.3
2.5.2
2.5.1
2.5.0
2.4.1
2.3.0
2.2.1
2.2.0
2.1.1
2.1.0
2.0.0

3

(4 replies, posted in General)

Under Network Options -> Particle Control, disable "Control Spawned Particles".

Support for finishing moves will be available on the next update (2.6.1):
https://trello.com/c/3GAblTke/139-ufe-261

Will probably be changed to 2.7.0 due the amount of new features coming.

5

(1 replies, posted in General)

for local or remote player, you can use this:

UFE.GetLocalPlayer()

or

UFE.GetRemotePlayer()

These functions will return the values 1 or 2 (which player is local or remote)

to know which one is CPU, use this:

UFE.GetCPU(1)

or

UFE.GetCPU(2)

These will return true or false if the given parameter (1 or 2) is controlled by the CPU or not.

6

(2 replies, posted in General)

Its hard to say if these were the only fixes done to improve the WebGL build between 2.4 and 2.6, but if I know most issues were caused by some incompatibilities with the Fuzzy AI algorithm.

Under AIInfo.cs, look for this code segment (line 419):

public static readonly string Rule_NOT = " NOT ";
public static readonly string Debug_NOT = " NOT ";

And change it to this:

#if UNITY_WEBGL && !UNITY_EDITOR
    public static readonly string Rule_NOT = "";
    public static readonly string Debug_NOT = "";
#else
    public static readonly string Rule_NOT = " NOT ";
    public static readonly string Debug_NOT = " NOT ";
#endif

Then, under RuleBaseAI.cs, look for this code segment (line 1713):

this.inferenceEngine.SyncCalculateOutputs(requestedOutputs);
this.aiOutput = this.inferenceEngine.Output;

And change it to this:

if (UFE.config.aiOptions.multiCoreSupport && Application.platform != RuntimePlatform.WebGLPlayer){
    this.inferenceEngine.AsyncCalculateOutputs(requestedOutputs);
}else{
    this.inferenceEngine.SyncCalculateOutputs(requestedOutputs);
    this.aiOutput = this.inferenceEngine.Output;
}

If for some reason you can't find these segments, try replacing both files from your current project with the ones available on version 2.6. Its highly unlikely these files got changed in your project.

7

(3 replies, posted in General)

This feature is not available at the moment. UFE 3 currently only have "Platform Fighter" available. It will however be part of the next major update, most likely as part of UFE 2. Its hard to say when it will be available, but its definitely the next priority after the next update (2.6.1).

8

(2 replies, posted in General)

Under Global Editor -> Network Options -> Particle Control, disable "Control Spawned Particles"

9

(6 replies, posted in General)

The ids are used to link the animations from moves to the animation controller (Mecanim Control) and the animation maps. Previously, UFE would load the animations based on the move file, often causing conflicts.
UFE 2.6 has an issue right now where duplicated moves (Ctrl+D) get their ids duplicated.
There is a fix coming to this in the next update (2.6.1), but if you don't want to wait you can get it now through repository access. Your solution should do the job for now though. The important thing is that the ids are unique.

10

(4 replies, posted in 3D Gameplay)

You could try using the 3d arena template instead, then adjust the camera angles to look more like the 3d fighter.
https://i.ibb.co/sR6xSwj/image.png

Use these settings under Global Editor -> Camera Options to achieve this:
https://i.ibb.co/2yj0wBL/image.png

What version of Unity are you using?
What version of UFE are you using (check the Readme.txt file)?
It seems the error is being caused by one of the preloader features (specifically, Shader.WarmupAllShaders)
Under Global Editor -> Preload, disable "Warm All Shaders":
https://www.ufe3d.com/doku.php/global:preload

12

(2 replies, posted in General)

The UI part of the challenges is all written under OnGUI on file DefaultChallengeModeGUI.cs

You can try changing how it behaves by allocating some of the variables from ChallengeMode.cs into UI elements.


I know the video doesn't touch on this topic in particular, but just in case I'll leave a link to the video tutorial here:
https://youtu.be/BnNyIl9zwvc?si=y1okP7T … &t=446

You can subscribe to the MultiplayerAPI event "OnPlayerDisconnectedFromMatch" like so:

void Start()
{
    UFE.MultiplayerAPI.OnPlayerDisconnectedFromMatch += this.OnPlayerDisconnectedFromMatch;
}

Then create a function that calls a set of functions to emulate the end of a match:

void OnPlayerDisconnectedFromMatch()
{
    // Declare Local Player as Winner
    ControlsScript winner = UFE.GetControlsScript(UFE.GetLocalPlayer());

    // Fire Game Ends Event
    UFE.FireGameEnds(winner);

    // Play Game Won Outro Animation
    UFE.GetControlsScript(UFE.GetLocalPlayer()).SetMoveToOutro(2);

    // Call for End Game and open menu a few seconds later
    UFE.DelaySynchronizedAction(UFE.MatchManager.EndMatch, UFE.config.roundOptions._endGameDelay);
}

On a side note:
You might need to override how UFE handles disconnections. Under file ConnectionHandler.cs, comment line 19 like so:

//UFE.MultiplayerAPI.OnPlayerDisconnectedFromMatch += this.OnPlayerDisconnectedFromMatch;

This will prevent UFE from also disconnecting the local player from the room.

14

(1 replies, posted in General)

UFE.GetLocalPlayer()

From there you can get the information from ControlsScript:

UFE.GetControlsScript(UFE.GetLocalPlayer()).currentLifePoints

Very interesting. There is a more complex implementation of this on UFE 3 (available for Patreon Tier 4 members). It has many features like that, including the ability to create platforms and a variety of stage interactables.
I'm currently focused on improving UFE 2 (working on version 2.7), but I plan to continue working on UFE 3 and hopefully release it to the general public sometime in the near future.

16

(0 replies, posted in General)

Join UFE Discord (Mind Studios) for a more active experience with the members of this community!
https://discord.gg/hGMZhF7

17

(2 replies, posted in 2D Gameplay)

Humm, it seems the "disabled" option wasn't working correctly.
If you have the Source version, open CameraScript.cs and under line 92 change this:

if (highestPos >= UFE.config.cameraOptions.verticalThreshold)

To this:

if (UFE.config.cameraOptions.verticalPriority != VerticalPriority.Disabled && highestPos >= UFE.config.cameraOptions.verticalThreshold)

Now, under Global Editor -> Camera Option, set Vertical Follow to "Disabled" and toggle "Enable LookAt" to off. toggle "Enable Zoom" off as well to ensure 0 vertical movement.
https://i.ibb.co/Xpsc3vC/image.png

I'll add this fix in the next update.

18

(13 replies, posted in 2D Gameplay)

gaurangranoliya wrote:

"Please help me, because there 4-5 projectiles having same issues and cannot remove that powers."

Sorry that you didn't understand above lines, I was saying i am having same type of upward or downward projectiles hitting the opponent from sky or from the ground that depends on different types of characters.

I tried with the UFE template and face same issue.

The upward projectiles are clone on opponent position with offset instead of player who is throwing. So it looks coming from the ground and hit the opponent as shown in the video.

I attached the script to the fireball prefab which has code to reposition for opponent position and hit the opponent.

I am attaching one zip which has videos, moves and scripts as unity packages. Also attached screenshots of Fireball move and also add the "ProjectileEnemySpawn" script which is added to fireball prefab. If unity package is corrupted or give some errors from your side then you can use the screenshots and script directly.

Fireball move has only changes in projectiles and attached the "ProjectileEnemySpawn" script to fireball prefab, then you can achieve the same projectile as i am using it.

Also i map the robot kyle character and then only tested in photon multiplayer.

Sorry if cloning the prefab at opponent location and it creates the online desync issue, if you can give some suggestion for this it will be greatful to me.

https://drive.google.com/drive/folders/ … sp=sharing

I see now. You didn't change the core files, but you did create a script that changes how it behaves.
In "ProjectileEnemySpawn" you are modifying the position of the projectile without tracking the variables through UFENetcode.
Here, I rewrote the script for you:

using FPLibrary;
using UFE3D;
using UFENetcode;
using UnityEngine;

public class ProjectileEnemySpawn : UFEBehaviour, UFEInterface
{
    public int posFrameDelay;

    public Vector3 relativeEnemyPosition = Vector3.zero;
    public bool alwaysTouchGround = false;

    protected ProjectileMoveScript moveScript;
    protected FPVector recordedEnemyPosition;

    public override void UFEStart()
    {
        moveScript = GetComponent<ProjectileMoveScript>();

        if (moveScript)
        {
            FPVector offset = new FPVector(relativeEnemyPosition.x * -moveScript.opControlsScript.mirror, relativeEnemyPosition.y, relativeEnemyPosition.z);
            FPVector currentEnemyPos = moveScript.opControlsScript.worldTransform.position;
            recordedEnemyPosition = new FPVector(currentEnemyPos.x, alwaysTouchGround ? 0 : currentEnemyPos.y, currentEnemyPos.z) + offset;

            UFE.DelaySynchronizedAction(SetToEnemyPos, posFrameDelay);
        }
    }

    public void SetToEnemyPos()
    {
        moveScript.fpPos = recordedEnemyPosition;
    }
}

Notice I changed the reposition delay from seconds to frames (60 frames = 1 second).
See if that works.

For more on custom code check out this page:
https://www.ufe3d.com/doku.php/global:n … ustom_code

Are you using opponent override for that dizzy animation?

20

(13 replies, posted in 2D Gameplay)

gaurangranoliya wrote:

I applied your settings to Network Options, still face same issue on upwards projectile.

Those changes are not meant to fix the issues you are having, just to improve the online experience.

gaurangranoliya wrote:

It can be different forces are applied on opponent phone compared to player phone?
How can i fix this different forces applied on different devices?

The netcode has nothing to do with the devices you are testing it in. Plus, based on the video you showed, it seems the problem is happening in the editor as well.

Please help me, because there 4-5 projectiles having same issues and cannot remove that powers.

Its hard to understand your English sometimes, but sentences like this doesn't help me at all..
Here, read this: https://www.ufe3d.com/forum/viewtopic.php?id=374
I need you to help me so I can help you. Drama just slow things down.

3. I will try to replicate using UFE's templates.

Weren't you suppose to do this?
If I can't test or confirm the issue its impossible to provide any support.

- Make an upwards projectile just like you did in your game using a clean copy of UFE 2.6.0 using UFE's templates. Use one of the fireballs provided.
- Show me, step by step, how you made that projectile and a video showing the desync (just like you did before, this time using UFE templates only)

If it is in fact a bug, I'll figure out the issue and provide a patch in no time. But if we just go back to "please fix this" over and over without context, we are never moving forward.

21

(13 replies, posted in 2D Gameplay)

Seems related to that upwards projectile.

Did you add or make any changes to the code?
Did you run the map recorder for all your characters?
Can you replicate the issue using UFE's original templates?

Watch this video, it will help you narrow down possible causes:
https://youtu.be/j3B-lhd8JBw

gaurangranoliya wrote:

I am attaching the screenshot of Global Config for Network Options.

Try using these values. Its the default values on UFE 2.6.0:
https://i.ibb.co/K0yhmpR/image.png

I have yet to review the cinematic options for 3D gameplay. I think the best way to achieve this is to make your own custom camera animation and use the prefab option.

Thank you for that. I'll review those numbers in the next update.

Click on "Load Stance File" first.

25

(1 replies, posted in Source Coding)

Under your "outro" animations (Character Editor -> Move Sets -> Basic Moves -> Intro/End Animations), set it to play a move file instead of the basic animation.
In this new move, create new Invincible Frames and set the values for "Ignore Body Colliders" and "Completely Invincible" to true. This will make it so the character can walk through the opponent's hitboxes:
http://www.ufe3d.com/lib/exe/fetch.php/move:move_invincibleframes2.png?cache=&amp;w=398&amp;h=378&amp;tok=3209a8