Machinations Documentation
  • What is Machinations?
  • ☉Getting Started
    • Explore
    • Interface
    • Framework Basics
    • How-To Videos
  • ▷ Simulations
    • Run Modes
    • Charts
  • ⦽ Basic Nodes
    • Pools
    • Sources
    • Drains
  • ⇢ Connections
    • Resource Connections
    • State Connections
      • Label Modifiers
      • Node Modifiers
      • Triggers
      • Activators
    • Labels
  • ⧰ Advanced Nodes
  • Converters & Traders
  • Gates
    • Sorting Gates
    • Trigger Gates
    • Mixed Gates
  • Registers
    • Math.js Functions
  • Delays & Queues
  • End Conditions
  • Artificial Player
  • ✑ Nodes Properties
    • Activation Modes
    • Pulling & Pushing Resources
    • Filter (Colour Coding)
  • ⚯ Collaboration
    • Live Collaborative Editing
    • Public Diagrams
    • Google Sheets
    • Tags
  • ♔ Accounts
    • User Profile
    • Pricing
    • Billing Policy
    • Team Management
  • ☆ Tips
    • Shortcuts
    • Best Practices
  • ⚙️Unity Plugin (UP) & API
    • Game Engine Plugin
    • Quick Start
    • Main Concepts
    • Real-Time Sync
    • Unity Integration Guide
    • Known Issues
    • Key Features
      • Game-Aware Analytics
      • Local Cache
      • Game State Awareness
      • Data Formats & Handoff
  • ≏ Evolution
    • Changelog
    • Framework Diff Log
  • 〄 Localisations
  • 🇷🇺 RU by Lev "evlko" Kobelev
Powered by GitBook
On this page
  • How it integrates with your Unity 3D production
  • Design Philosophy
  • An engine-agnostic game design tool
  • Complex game design
  1. Unity Plugin (UP) & API

Main Concepts

Important matters to consider when using Machinations UP

PreviousQuick StartNextReal-Time Sync

Last updated 4 years ago

How it integrates with your Unity 3D production

The following two classes are of major importance for how UP works with Unity.

MnEntryPoint - contains an InitializeOnLoad method, which bootstraps the plugin. It creates the Machinations Service (MnService) and the Socket IO client used for communication.

MnMainThreadHook - contains a RuntimeInitializeOnLoad method, which ensures that the Machinations Service is called by whatever scene you are loading.

It also contains an Update method, which calls MnService's ProcessSchedule function at regular interval, to make sure that MnService is executed during whatever scene you may be playing.

Design Philosophy

An engine-agnostic game design tool

As such, the goal of our Game Engine Plugin efforts is to provide libraries that support a wide range of game engines and programming languages.

Complex game design

One of the core philosophies of UP is to accommodate complex game design, even if spread-out over multiple diagrams. UP can refer to both elements from different diagrams AND switch to a different diagram based on , for the same mechanic.

⚙️
Game State Awareness