Character Selection - Lyra Starter Game

I’ve update my B_LyraShooterGame_ControlPoints & B_ShooterGame_Elimination, you should see update in Steam shortly. Hopefully should work now

1 Like

I am going to test your code tomorrow morning. Do I need anything extra to make it work? I am using UE5 editor (not from github) and packaging ‘Lyra Game’ for distribution. Should I pack Lyra Client or something? Thanks.

That should be it, let me know if you get any compile errors and I can take a look.

1 Like

Will do. Thanks.

Your code is working, and it is saving the settings. If I quit the game and play again, the saved settings are restored. Thank you so much for the help. The problem I am still having in on me due to my incorrect replication logic. Here is what I’ve got so far.

Selection Screen seems to be correct. Not sure if all this replication is really needed.

Hero Shooter changes Tinplate Sphere color after possess event. Bots do nothing (they get default yellow color). Is this replication correct? Should be multicast here?

Tinplate receive request for change. Server and Multicast events with repnotify variable

Selection index is repnotfiy. Sphere and DIM are replicated.

2 Likes

Wow nice work guys. I’ve gotta try this out soon.

1 Like

Wow great work guys! going to give this a try later on today!

3 Likes

Story short: the settings are saved correctly in both computers, but players see each other with default color. Therefore, the c++ code works correctly and I’d appreciate if you guys can help with the replication logic.

Thanks.

3 Likes

Testing it out now, i’ll let you know if i figure it out

2 Likes

does work but still having same issues as before client still loads host character selection, trying it out using B_PickRandomCharacter instead of utilizing the tinplate as i’m using the metahumans characters.

2 Likes

This is the same approach I first tried, and it is the simplest setup. The selection works and it is saved in each computer. The problem that still persists is that B_PickRandomCharacter is owned by the controller, but it always loads the selection made by the host controller. I tried it again with multiple copies of B_Tinplate UE4 for each predetermined sphere each color, and it is not working:

The client always gets the same selection made by the host. That is the reason I believe the change should happen after possess event, called by the player character as shown above in this thread.

I believe I finally got it. android.robot gave us the hint, but I didn’t understand at first. He said 'Also only choose “Client Component” in the components list of the Lyra Experience Definition". That said, by default, B_PickRandomCharacter is checked as ‘Server Component’ inside the Lyra Experience Definition blueprints (B_ShooterGame_Elimination and B_LyraShooterGame_ControlPoints, B_TestInventoryExperience and B_TopDownArenaExperience):

All we have to do is uncheck Server and check Client. That should allow loading the correct selection. I am testing it now.

1 Like

Heyoo! Makes sense. If it still doesn’t work, you MAY have to do an is local controller on your begin play.

1 Like

How? Before possess event? Can you please show a screenshot?
I am testing this, I added Is local player controller and is local controller inside PickRandomCharacter. Is that what you mean?

1 Like

Sorry, do a check for if pawn has controller. Before you cast.

Got it. Thanks. At this point, it seems that the pawn is not possessed yet, so I am getting the Controller who owns the B_PickRandomCharacter. Is that what you mean?

That I do believe is the problem.

It seems the controller picks a cosmetic character and then possesses Hero Shooter character. What do you recommend? I am packaging now and will test it out.

That one didn’t work neither. Only the settings saved by the host are loaded. Host is correct in both computers. Client gets yellow in both screens what indicates that branch is always false for clients and always true for the match host. I by-passed it now both players have the settings from the host. I went backwards. There is something else missing here.

So the local settings are not being saved or the server is overriding them?