EMI INDO's Forum Posts

  • Update v1.0.0.2: Advanced Security Levels for Android Billing Verifier

    Enhanced Protection for your Service Account Credentials

    In this latest update, I’ve introduced a more flexible and secure way to handle your Service Account JSON. You can now choose between three different security tiers depending on your project needs.

    Three Ways to Handle Credentials

    1. Default Plugin Properties: The classic way. Fill in the fields directly in the Construct 3 property bar. Simple and fast for small projects.
    2. C3 Editor Scripting (JSON Injection): Convert your credentials using JavaScript within the editor and inject them at runtime. This keeps the data more dynamic.
    3. Firebase Remote Config (Highly Recommended): Fetch your entire Service Account JSON from Firebase. This gives you full control; if your private_key is ever compromised, you can swap it instantly in the Firebase Console without needing to update your APK.

    construct.net/en/game-assets/addons/firebase-web-gt-mobile-gt-1881

    New Feature: Get Subscription Firebase Status

    This new action allows you to verify subscriptions using dynamic credentials. It includes an optional User ID parameter for those using Firebase Auth, but it works perfectly fine with just Remote Config.

    Important Security Note

    • When this option is enabled, the plugin automatically ignores and clears any sensitive data in the hardcoded properties to prevent memory leaks.
    • The old Get subscription status action will be disabled. It is a choice of security levels: Local (Static) vs Firebase (Dynamic).

    Implementation Example

    As shown in the image below, you can use a local variable to store your JSON config fetched from Firebase or generated via script:

    const credentials = {
    "type": "service_account",
    "project_id": "YOUR_PROJECT_ID",
    "private_key_id": "YOUR_KEY_ID",
    "private_key": "YOUR_PRIVATE_KEY",
    "client_email": "YOUR_CLIENT_EMAIL",
    "client_id": "YOUR_CLIENT_ID",
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://oauth2.googleapis.com/token",
    "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
    "client_x509_cert_url": "YOUR_CERT_URL",
    "universe_domain": "https://www.google.com/search?q=googleapis.com"
    }
    
    // Convert to string for the plugin action
    runtime.localVars.config = JSON.stringify(credentials);
    
  • Google Gen AI Plugin

    Bring the power of Google's latest generative AI directly into your Construct 3 projects! This plugin acts as a bridge to the official Google Gen AI SDK, allowing you to create smart NPCs, generate dynamic text, analyze images, and even generate new images inside your game.

    Powered by the official module: @google/genai

    1. Free download: https://www.construct.net/en/make-games/addons/1576/google-gen-ai
    2. Further information: https://www.construct.net/en/make-games/addons/1576/google-gen-ai/documentation
  • New Free Addons: In-App Subscription (Server-Side) & AdMob Mediation Suite

    Hi everyone! I’m excited to announce two new addons designed to enhance your billing security and ad revenue management in Construct 3. Both are available for free!

    1. Google Play In-App Subscription (GCP Server-Side Verification)

    This plugin provides a robust solution for Server-Side Verification of Google Play Subscriptions and In-App Products via Google Cloud Platform (GCP). It utilizes a Native Java Bridge to communicate directly with the Google Publisher API, ensuring maximum security and reliability for your billing system.

    • GCP Integration: Direct communication with Google Cloud Platform's official infrastructure.
    • Maximum Security: Verifies tokens server-side to prevent billing fraud.
    • Reliability: Built with a native bridge for high performance on Android.
    • Zero Middleman: Your data stays between you and Google.

    https://www.construct.net/en/make-games/addons/1572/in-app-subscription

    ---

    2. AdMob Mediation Suite

    Take full control of your ad revenue by managing Google AdMob Mediation adapters for both Android and iOS easily within Construct 3.

    • Multi-Platform: Full support for Android and iOS mediation.
    • Revenue Optimization: Effortlessly manage different ad network adapters.

    https://www.construct.net/en/make-games/addons/1573/admob-mediation

    ---

    Happy making!

  • I’m the one who has been porting dozens of these addons recently, and I have to weigh in here because this isn't just about "fixing broken projects"β€”it's about a massive security liability that hasn't been fully addressed in this thread.

    Ashley is 100% right about the security risk, but I want to take it a step further. We’re not just talking about a plugin "not working." We’re talking about Supply Chain Attacks. A malicious actor could easily "port" a popular SDK v1 addon, use the same ID, and hide a script inside a bundled dependency (e.g., import { core } from './bundle.js';). If a user unknowingly updates to this "ported" version and publishes their game, they risk:

    App Suspension: Google Play/App Store detecting malicious SDK behaviors.

    Account Termination: The "death penalty" for mobile developersβ€”losing their Play Console account permanently.

    Financial Loss: For many, this is their livelihood.

    As someone doing the heavy lifting of porting these addons, I absolutely refuse to be held responsible for what happens if we allow a "free-for-all" on ID reuse. If I port a plugin and someone else "shadow-updates" it with a malicious ID-match.

  • On rewarded complete

    Give rewards to users

    Reload the rewarded video ad here, to be displayed when you want to give the next reward.

    Important Note: Do not test live ads during development or testing. Doing so is a policy violation. Repeated violations may result in limited ad serving, and ad slots may stop filling entirely.

    This approach can be effective, but it must be handled with caution. Testing live ads for games should only be done through the App Store, where the game is downloaded by real users, in order to avoid policy violations.

    Although there is no strict rule, it is recommended to limit rewarded video ads to once every 3 minutes per user to maintain a good user experience and reduce the risk of policy issues.

    Debug

  • Have you tested like this?

  • Update firebase-analytics-Android/IOS_v1.0.0.3

    construct.net/en/game-assets/addons/firebase-analytics-403

    Update applovin-max-ads-Android/IOS_v1.0.7.9

    construct.net/en/game-assets/seller-account/for-sale-assets/applovin-max-ads-1847

  • SwapLab Desktop - Build Android/iOS Locally (No Android Studio required)

    SwapLab Desktop is a lightweight (~10MB) GUI for Windows and macOS designed to build Construct 3 projects locally using Docker. It sanitizes, builds, and signs your Android & iOS projects in isolated containers, eliminating the need to configure Java, Gradle, or Environment Variables manually.

    πŸš€ Why SwapLab Desktop?

    It is 100% Free & Open Source. There are no hidden fees and no locked features.

    • 🚫 NO CLI / NO Config: No need to install Android Studio, JAVA_HOME, or SDKs manually. It works out of the box.
    • πŸ”’ 100% Privacy & Control: No Sign-In required. Your source code NEVER leaves your machine. Everything runs on localhost.
    • ⚑ Blazing Fast: Uses aggressive caching (Gradle & NPM), so subsequent builds take seconds.
    • 🌐 Offline Capable: Once the engine image is downloaded, you can build apps without an internet connection.
    • πŸ›‘οΈ Isolated via Docker Desktop: Builds run safely inside the Docker Desktop app's containers, ensuring your host OS remains clean.

    How to use with Construct 3

    1. Export your Construct 3 project as Cordova.
    2. Open SwapLab Desktop.
    3. Drag & Drop your project folder/zip.
    4. Click Build. The tool automatically handles the conversion (Cordova to Capacitor).

    Video: Build Construct 3 Release APK + mobile advert

    Subscribe to Construct videos now

    Open Source Repositories

    You can audit the core build engines and example projects here:

    Download

    Get the installer for Windows and macOS here:

    πŸ‘‰ Download SwapLab Desktop

  • You are a rockstar!

    Fix bug

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • πŸ”„ Quick Update: This thread is active & EasyStar Tilemap Manual Port is ready!

    Hello everyone! Just a quick post to let you know that I am still actively working on your requests.

    πŸš€ New Manual Port: EasyStar Tilemap Behavior

    I have just finished the manual port for EasyStar Tilemap by Magistross as requested by users on this page.

    πŸ› οΈ Important Transition: Automated Build Service

    To make things much faster and more transparent, I have officially launched the C3Addon Community Compiler. Instead of waiting for manual uploads, you can now get the latest builds of all ported addons (including the new EasyStar port) instantly through the new dashboard.

    Because this tool is a significant upgrade, I have created a new dedicated thread to discuss the compiler and its features:

    πŸ‘‰ C3Addon Community Compiler - New Thread & Discussion

    πŸ“₯ Get the SDK v2 Addons here:

    https://c3addoncommunity.swaplab.net

    Thank you for your continued support!

  • dop2000 brobiggame Squashed John

    πŸš€ New Manual Port Update: EasyStar Tilemap Behavior (SDK v2)

    Following the request from page 2 of the porting thread, I have completed a manual migration for the following behavior:

    Original Addon: EasyStar Tilemap by Magistross

    πŸ› οΈ Why Manual Porting?

    Please note that this is a manual port, which is significantly more reliable than an automated conversion.

    • Code Optimization: I have made extensive changes to the source code to ensure deep compatibility with the latest Construct 3 SDK and API v2 standards.
    • API Alignment: Manual adjustments were made to handle how the Tilemap and pathfinding logic interact within the new SDK environment.

    πŸ“₯ How to get it

    The updated .c3addon for EasyStar Tilemap is now automatically available on the dashboard. You don't need to wait for a manual uploadβ€”the compiler has already packaged the latest manual port for you:

    πŸ‘‰ https://c3addoncommunity.swaplab.net (Search for: Magistross-Easystar-Tilemap)

    I will continue to work through the request list. Stay tuned for more manual SDK v2 updates!

  • [Tool] C3Addon Community Compiler: Real-time Automation for SDK v2 Addons

    Hello Construct community!

    As many of you know, I have been maintaining a thread for the Community Porting List for SDK v2. While that list has been helpful for tracking progress, I realized that the manual process of downloading from GitHub and wrapping them into .c3addon files could be much faster.

    To support this effort, I've developed a non-profit "bridge" tool as part of the SwapLab project to automate the compilation process:

    🌐 c3addoncommunity.swaplab.net

    βš™οΈ How it works

    This service acts as an automated bridge between the public source code and your Construct 3 editor:

    • Source: It pulls the latest code directly from the EMI INDO GitHub repositories.
    • Real-time Build: The server wraps the repository content into the correct .c3addon structure instantly.
    • Zero Modification: The bridge does not change any code; it only provides an automated way to package it for distribution.

    βš–οΈ Transparency & Credits

    Transparency is the core principle of this project. To ensure everyone feels safe using this tool:

    • Open Source UI: The frontend is hosted on Cloudflare Pages, and you can audit the source code here: GitHub Repository.
    • Original Authors: This tool is strictly a compiler bridge. All intellectual property, original logic, and documentation for these community addons belong to their respective creators. Please visit the Official Construct 3 Addon Store for official resources and to support the original developers.

    🌍 Explore Other Community Tools

    You might also find my other SwapLab community projects useful:

    Feel free to provide feedback or suggest new repositories to be added to the auto-compiler list!