7.3 KiB
Frequently Asked Questions
General
What is Mosis?
Mosis is a virtual smartphone OS for VR games and applications. It provides a phone-like device that users can interact with inside VR environments, complete with real smartphone functionality.
Who can develop apps for Mosis?
Anyone! Sign up for a free developer account to start building apps. There's no fee to register or submit apps.
What can I build with Mosis?
You can build any app that works on a phone screen:
- Utilities (calculators, converters, timers)
- Productivity (notes, to-do lists, calendars)
- Games (puzzles, casual games)
- Entertainment (media players, readers)
- Social apps (chat, messaging)
- And more!
How do users get my app?
Users discover and install apps through the Mosis App Store, which is built into the virtual phone. Published apps appear in store listings where users can browse, search, and install.
Development
What languages/technologies do I need to know?
Mosis apps use:
- RML - Similar to HTML for structure
- RCSS - Similar to CSS for styling
- Lua - Lightweight scripting language for logic
If you know HTML/CSS, you'll find RML/RCSS very familiar. Lua is simple to learn and has many tutorials available.
Can I use JavaScript instead of Lua?
No, Mosis uses Lua for scripting. Lua was chosen for its:
- Lightweight footprint
- Easy sandboxing for security
- Simple learning curve
- Fast execution
Can I use React/Vue/Angular?
No, Mosis uses its own RML/RCSS system based on RmlUi. Standard web frameworks won't work, but the concepts are similar enough that web developers can adapt quickly.
What IDEs are supported?
Use any text editor! VS Code is recommended with these extensions:
- Lua Language Server
- XML/HTML tools for RML editing
Is there a visual designer?
The Desktop Designer provides:
- Live preview of your app
- Hot reload on file changes
- Hierarchy inspection
- Screenshot capture
It's included in your developer tools download.
Can I test on a real device?
Yes! You can:
- Install the Designer on your PC
- Build a .mosis package
- Sideload onto a VR device with MosisService installed
How large can my app be?
The maximum package size is 10MB. This is plenty for most apps. If you need more:
- Optimize images (use TGA format)
- Remove unused assets
- Load large data from the network
Can I use external APIs?
Yes, with the network permission. Make HTTPS requests to any API:
http.get("https://api.example.com/data", function(response)
local data = json.decode(response.body)
end)
Can I access the device camera/microphone?
Yes, with the appropriate permissions:
camera- For photo capturemicrophone- For audio recording
Users will be prompted to grant access.
Can my app run in the background?
Currently, apps only run when visible. Background execution is planned for future versions.
Can I access native device features?
Mosis apps are sandboxed for security. Available device features:
- Storage
- Network
- Camera (with permission)
- Microphone (with permission)
- Clipboard
- Notifications
Direct hardware access (Bluetooth, USB, etc.) is not available.
Publishing
How long does review take?
Most apps are reviewed within 24-48 hours. Apps requesting sensitive permissions may take longer.
Automated checks run instantly. Manual review is triggered for:
- First-time developers
- Sensitive permissions
- Flagged content
Why was my app rejected?
Check the rejection reason in your dashboard. Common reasons:
- Crashes on launch
- Missing required assets
- Policy violations
- Inappropriate content
- Misleading metadata
Can I update my app?
Yes! Submit a new version with:
- Higher
version_code - Updated
versionstring - Release notes
Updates go through the same review process.
Can I remove my app from the store?
Yes, go to your app's settings and choose "Unpublish". Users who installed it can keep using it, but it won't appear in searches.
Can I have paid apps?
Currently, all apps are free. Paid apps and in-app purchases are planned for future versions.
What's the revenue share?
When monetization launches, the split will be:
- 70% to developers
- 30% to Mosis platform
Can I distribute outside the store?
Yes, you can share .mosis files directly. However:
- Users must enable sideloading
- Updates won't be automatic
- No store discoverability
Technical
What RML/RCSS version is supported?
Mosis uses RmlUi 6.x. The UI Design Guide covers supported features. Not all CSS3 features are available.
What Lua version is supported?
Lua 5.4 with some restrictions for sandboxing. See the Lua Scripting Guide for details.
Are there size limits for storage?
Each app has 5MB of local storage. For more data, use network storage.
Can I use databases?
Use the storage API for key-value storage. SQLite is not directly available, but you can:
- Store JSON data
- Use a remote database via network
How do I handle different screen sizes?
Design for the standard phone screen (1080x1920 logical pixels). Use:
dpunits for consistent sizing- Flexbox for flexible layouts
- Percentage widths for adaptability
Can I create multiple screens?
Yes, use the navigation system:
navigateTo("settings") -- Load settings.rml
goBack() -- Return to previous screen
Can apps communicate with each other?
Currently, apps are isolated. Inter-app communication is planned for future versions.
What happens if my app crashes?
Crashes are caught by the sandbox. The user sees an error message and can restart. Crash reports are sent to your analytics dashboard (if telemetry is enabled).
Can I access the file system?
No direct file system access. Use:
storageAPI for persisted data- Bundled assets for static files
httpAPI for remote files
Account & Legal
Is there a developer fee?
No, developer accounts are free. There's no cost to register, develop, or publish apps.
Can I transfer my app to another developer?
Contact support to request a transfer.
What content is not allowed?
- Malware or security exploits
- Hate speech or discrimination
- Adult content (unless properly rated)
- Copyright infringement
- Privacy violations
- Impersonation of other apps/brands
See the full content policy in your developer agreement.
Do I need a privacy policy?
You need a privacy policy if your app:
- Collects user data
- Uses analytics
- Makes network requests
- Accesses contacts, location, etc.
Who owns the IP for my app?
You retain all intellectual property rights to your app. By publishing on Mosis, you grant a license to distribute it through the store.
Can I use open source code?
Yes, but respect the licenses:
- MIT, BSD, Apache: Generally safe
- GPL: May require source distribution
- Proprietary: Check terms carefully
More Questions?
If your question isn't answered here:
- Check the Troubleshooting guide
- Search the developer forum
- Contact support through your dashboard
See Also
- Getting Started - Create your first app
- Troubleshooting - Common problems and solutions
- API Reference - Complete API documentation