Yes, documentation updates will come later.
system.getInfo(âplatformâ) should return âlinuxâ.
Currently, there are no specific âlinuxâ build.setting values to set. Iâm not 100% sure if we are processing the âwindowâ table (used my macOS, Win32 and HTML5 to control window width, height, full screen, windowed, window name, etc.) yet. In theory, excludeFiles should work, but donât hold me to that.
Plugins are not supported yet. Hopefully, there will be some plugin support coming soon. Now I do want to be 100% clear here. Plugins that depend on third-party SDKâs like all ad providers, analytics providers, etc. are likely never going to be available because those SDKâs just donât exist for Linux and there isnât much in financial incentives to get them to make Linux SDKs. What youâre likely going to see is plugins like bit, zip, etc. those that are pure C++ and Lua based plugins being made available. Likewise, there may be some Linux specific plugins created, sort of like we have HTML5 specific plugins, but I canât initially think what they might ben.
In porting one of my games, Iâve had to do things like I did here for GameAnalytics:
myData.GAgameKey = nil myData.gameanalytics = nil if myData.platform ~= "ios" or myData.platform ~= "android" then return end myData.gameanalytics = require("plugin.gameanalytics\_v2") if "ios" == myData.platform then myData.GAgameKey = "iOS key goes here" myData.GAgameSecret = "iOS secret goes here" elseif "android" == myData.platform then myData.GAgameKey = "Android key goes here" myData.GAgameSecret = "Android secret goes here" end
And when I need to use GA, I do:
if myData.gameanalytics then myData.gameanalytics.addProgressionEvent { progressionStatus = "Fail", progression01 = string.format("campaign%02d", myData.settings.currentCampaign), progression02 = string.format("stage%02d", myData.currentLevel), } end
I basically store the handle to the plugin in my fake global table. If itâs nil, I donât do anything. If itâs been initialized then I can call it.
Rob