CanaryEngine 7 - A Lightning Fast & Lightweight Game Framework

Can you create remote function using bridgenet2 to send data to client?

1 Like

Well, do you mean remote functions or events because we already have evens.

How would I send the data to client if I’m going to use your framework?

Use NetworkSignal’s? You don’t need remote functions to send data to the client.

Can you give an example how to send profileservice data to client using Network signal?

1 Like

Yes, I can do this soon. I am currently away from home, but just a note:

Since NetworkSignals out barely any load on the server or client, replicates data once a frame shouldn’t be performance costly at all.

1 Like

Framework Update

@instanitly


The framework has been updated:

  • Fixed some bugs in the plugin
  • Improved plugin code to be modular
  • Added ability to create scripts and packages through the plugin
  • Updated documentation to now include a tutorial for data replication
  • Updated documentation

I also made a few changes to how networking works, please do not use Once or Wait as they are not fully implemented yet.

2 Likes

Framework Update

The framework has been updated:

  • Added option to install default packages in the plugin
  • Added new Utility functions to the module
  • Clean up code
  • Remove EngineClient.LocalObjects
  • Remove EngineClient.PreinstalledPackages
  • Remove EngineServer.PreinstalledPackages
  • Add EngineServer.GetDataService()
  • Add support for debugging in live games
  • Bug fixes
  • Fix up random_gen
  • Add base64 by @Gooncreeper

The framework has been updated to version 2, please switch versions immediately if you haven’t done so. Please note that this version is not backwards compatible if your code uses components that have been removed.

5 Likes

When Looking to your Last Post, It says this:

and in the latest one, You didn’t mention Once() or Wait() in there, Is it fully implemented?

No, I have changed the functions to end in disabled so you know to not use them yet. They will be implemented once @ffrostfall releases this feature for BridgeNet.

1 Like

Framework Update

@HenriqueGabrielLol


The framework has been updated:

  • Make it so that return data from regular Signals return in a table instead of a tuple for consistency
  • Create wrapper for BridgeNet instead of editing the source code
  • Improve code
  • Remove BridgeNet output logs
  • Add Vendor folder under new packages
  • Fix support for Wait
  • Update base64 by @Gooncreeper

Documentation changes are in the works. This version may not be backwards compatible if you use signals, please migrate and test your game before publishing.

1 Like

There’s custom :Wait()??? I didn’t know that lol.

Framework Update


The framework has been updated:

  • Fix bugs
  • Clean Code
  • Add ‘Statistics Library’
  • Add support for EasyDocs
  • Add PlayerGui to EngineClient.

How would I get the UI from the Client UI folder? I tried refencing it and Parenting it to PlayerGui and Cloning it but nothing happens?

Can I see your explorer setup and your script?

So somehow I got it to work after creating 1 Server Script and 1 Client Script and then it started working? But before I just had 1 Client script trying to grab the PlayerGui using EngineClient.Player and cloning it to the Player after

This is how I have it now and it works fine, I am not sure if it was a bug or not.
Screenshot 2023-05-07 094816

You must add an empty server script at the minimum or else CanaryEngine doesn’t work. It starts up on the server for security reasons.

hello one question, for what is this Framework usefull?

For some reason when i use this framework.
and i make a serverscript, then try to make a OnPlayerAdded function, it won’t work.

Like the Onplayer part doesnt work.

-- // Engine

local CanaryEngine = require(game:GetService("ReplicatedStorage"):WaitForChild("CanaryEngineFramework").CanaryEngine)
local EngineServer = CanaryEngine.GetEngineServer()

local Players = game:GetService("Players")
local DataService = EngineServer.GetDataService()

-- // Constants
local DEFAULT_PLAYER_DATA = { Coins = 0, Level = 1, Items = {} }

-- // Variables


-- // Functions

local function onPlayerAdded(player)
	print("Player added:", player.Name)

end

-- // Connections
Players.PlayerAdded:Connect(onPlayerAdded)

For some reason this part of the script is causing it to not work (I’ve tested using prints):

local CanaryEngine = require(game:GetService("ReplicatedStorage"):WaitForChild("CanaryEngineFramework").CanaryEngine)
local EngineServer = CanaryEngine.GetEngineServer()

You got any ideas as to why it would break it?

The framework is yielding and you already joined the game in studio before the connection is made most likely from the looks of it. This should fix your issue hopefully!

for _,player in Players:GetPlayers() do
	onPlayerAdded(player)
end
3 Likes